AngularJS がモデル用の特別な構文を必要としないことは気に入っていますが、頭を包み込めないように見えるシナリオが 1 つあります。以下を取る
私の dataService は、私が使用しているデータ ストレージのフレーバーをラップします。
app.factory('dataService', function() {
var data = 'Foo Bar';
return {
getData: function() {
return data;
}
};
});
同じデータにアクセスする 2 つのコントローラーがあります。
app.controller('display', function($scope, dataService) {
$scope.data = dataService.getData();
});
app.controller('editor', function($scope, dataService) {
$scope.data = dataService.getData();
});
2 つのビューがあり、一方がデータを変更する場合、もう一方が自動的に更新されないのはなぜですか?
<div ng-controller="display">
<p>{{data}}</p>
</div>
<div ng-controller="editor">
<input type="text" value="{{data}}"/>
</div>
データをノックアウトの観測可能なオブジェクトにする必要があるノックアウトのようなものでこれがどのように機能するかを理解しています。したがって、アプリケーションの一部を変更すると、サブスクリプションがトリガーされ、別の部分のビューが更新されます。しかし、Angularでそれを行う方法がわかりません。
何かアドバイス?