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 オブジェクトの関数を呼び出すにはどうすればよいでしょうか。