model
ディレクティブのコントローラーに設定されたサービスの属性を持つビュー テンプレートがあります。サービスの属性が更新されても、ビューでは更新されません。
<ul>
<li ng-repeat="i in x">
<item model=i></item>
</li>
app.directive('x', function($http, MyService){
return {
restrict: 'E',
replace: true,
templateUrl: "partials/list.html",
controller: function($scope, MyService){
$scope.x = MyService.x;
}
}
});
モデルに変更を反映させる唯一の方法は、ディレクティブのコントローラーでサービスに属性を更新させることですが、コントローラーが呼び出された時点ではまだデータがありません。
何をすべきか?どういうわけか、ディレクティブのコントローラーを明示的に呼び出す必要がありますか、それともそのコントローラーにあるロジックを壊す必要がありますか? どちらも非常に角張っているようには見えません。
パズルの一部が欠けていますね。リテラルではなく参照であるかのように$scope.x
更新するにはどうすればよいですか?MyService.x