1

Angular 1.5 コンポーネントの学習を始めたばかりで、いくつかの新しいルールを試していますが、これについて理解できないようです:

だから私のメインで:`

angular.module('myapp',[])

.controller('appController',['$scope', '$interval',function($scope, $interval) {

    
    $scope.action = function(remote){
      // How do I run obj.action
    };
    
    $scope.objectList = [{name: 1},{name:2},{name:3},{name:4},{name:5}];

    $interval(runList, 1000);
    
    function runList() {
      
      // run Action on objects in objectList? obj.action?
      
      obj.action();
      
    }
}]);

// and in the obj.js file
(function(angular) {
'use strict';


angular.module('myapp').component('obj', {
    template: '<div class="box">{{obj.messsage}}</div>',
    controllerAs: 'obj',
    controller: function() {
    
    var obj = this;
    
    obj.action = function() {
      obj.message = "Updated, therefore Success";
    }
    
    
    },
    bindings: {
        ngModel: '=',
        action: '&'
    }
});
})(window.angular);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-controller="appController">
    <h1>Hello Plunker!</h1>
    
    <obj ng-model="obj" ng-repeat="obj in objectList"></obj>
   
</body>

プランカー

runListで、コントローラーからコンポーネントアクションobj.action()を実行する方法が頭に浮かびません。

スタック オーバーフローの書式設定が正しくない場合は申し訳ありませんが、私はまだほとんど初心者です。

ps 同様の質問を読みましたが、A) html には何もなく、ng-repeat に直接関係していませんでした

質問のさらなる明確化 (必要な場合): $interval を実行するコンポーネントが、異なるコンポーネントの ng-repeated オブジェクトの関数を呼び出すにはどうすればよいでしょうか。

4

1 に答える 1

-1

コントローラーの依存関係に $interval を追加します

于 2016-07-27T08:25:03.807 に答える