关于文档

时间:2015-08-17 02:02:44

标签: javascript html angularjs ionic-framework ionic

我是Ionic框架的新手,并试图贯穿Ionic ToDo app demonstration。在开始之前,我想提一下我从其GitHub页面手动安装了最新的离子版本,并在我的index.html中加入了以下内容:ionic.bundle.jsangular.min.jsangular-animate.min.js,{{1 },angular-resource.min.jsangular-sanitize.min.js。在第5章中,作者详细介绍了用于创建新任务的控制器代码。我尝试在定义为

angular-ui-router.min.js方法中添加一些额外的功能
.createTask()

将其更改为

$scope.createTask = function(task) {
$scope.tasks.push({
  title: task.title
});
$scope.taskModal.hide();
task.title = "";
};

现在,如果您使用教程中概述的附带视图运行此新代码,您将看到即使$scope.createTask = function(task) { if (task.title == "") { window.alert("Empty Task!"); $scope.taskModal.hide(); } else { $scope.tasks.push({title: task.title}) $scope.taskModal.hide(); task.title = "" ; }; }; 失败,控制器也会调用空任务警报!也许我错过了一些非常明显的东西,但我不确定。此外,我写这篇文章的主要原因是,如果您只是在task.title == ""子句中注释掉行task.title = "";并通过实时视图添加任务,它会添加两个创建任务的实例!这是奇怪的,或者我认为,因为好像else被执行了两次。就像任何优秀的程序员一样,我试图让编译器(在这种情况下是解释器)泄露其秘密。我在控制器范围$scope.tasks.push({title: task.title});中声明了一个变量,以跟踪发生的情况。将$scope.i = 0留在原位,我插入了

//task.title = ""
就在它之前。运行此代码时,您会注意到两件事:

  1. 控制器不再在非空任务上调用空任务警报。
  2. 现在只使用创建的任务的一个实例更新视图。
  3. 所以,我不确定发生了什么。也许这只是我忽略的一些粗心错误,但对此的任何帮助都将非常感激。非常感谢!

    修改

    我尝试进一步尝试,似乎整个事情都取决于$scope.i += 1; window.alert($scope.i); 。即使

    window.alert()

    替换为

    $scope.i += 1;
    window.alert($scope.i);
    

    “解决方案”仍然有效。虽然如果您使用$window.alert("1"); window.alert(),原始问题仍然存在。

0 个答案:

没有答案