としてコントローラを使用して、コントローラに変更されたとき、私は、コントローラ内の以下の機能を持っているビューを更新しない:はNGリピート - 配列が構文
app.controller("myCtrl", function(myServ, $scope){
var ctrlScope = this;
ctrlScope.myData = [];
function getData(){
myServ.getData().then(function(data){
$scope.$evalAsync(function(){
ctrlScope.myData = data;
});
});
}
getData(); // myData is initialised properly
ctrlScope.update = function(){
// Data has already changed in backend
getData(); //myData inside controller is updated but ng-repeat is not able to show on the view the updated array
};
});
HTML:
<div data-ng-controller="myCtrl as mc">
<span data-ng-repeat="d in mc.myData">{{d.name}}</span>
<button data-ng-click="mc.update()"> Update </button>
</div>
getData()
ng-repeat
は正常に初期化されますが、コントローラがデータを更新した場合でもビューを更新することはできません。
を追加しますか?それはjQueryのようなサードパーティーですか? – AranS
これは、他のアクションによって更新されていますが、ここでは表示されず、質問が明確になります。 –
[[d.name]] は中括弧で置き換えます – gyc