3

所以我正在创建一个简单的 AngularJS 待办事项列表。我成功地添加了一个列表,但是当我即将创建控制器来过滤已完成的待办事项并将未完成的待办事项重新显示到屏幕上时,我遇到了一个我找不到的错误。我认为我的 ng-submit 不起作用,因为它无法在单击按钮时调用我想要调用的函数。任何帮助将非常感激。

这是我的 html 文件:

<div ng-contoller="CompletedController as completeCtrl">
    <input class="clearbutton" type="submit" value="Clear Completed" ng-submit="completeCtrl.unfinished()"></input>
</div>

和我的jsfile:

app.controller('CompletedController', function(){
    todoCtrl.currentTodos = [];
    this.unfinished = $filter('filter')(todoCtrl.currentTodos, array, function(currentTodo){
        return !currentTodo.status;
    });
    todoCtrl.currentTodos = this.unfinished;
});
4

1 回答 1

0

您不能以调用的方式从另一个控制器的范围内访问控制器的范围todoCtrl.currentTodos。您需要组合控制器,或使用服务/工厂在它们之间共享数据。

如果我没看错的话,您的unfinished错误可以通过以下方式解决:

app.controller('CompletedController', function($scope){
    $scope.unfinished = function(){
      //function content
    }
});
于 2015-06-18T02:34:44.700 回答