3

そこで、簡単な AngularJS の to-do リストを作成しています。リストの追加には成功しましたが、コントローラーを作成して完了した To-Do をフィルタリングし、未完了の To-Do を画面に再表示しようとすると、エラーが発生してわかりません。ボタンがクリックされたときに呼び出したい関数を呼び出すことができないため、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 に答える