は、$scope.bar
オブジェクトのfoo
プロパティに割り当てられています。以下のコードスニペットで確認できます。これらは初期化時にのみ同期しています。 私は$scope.bar
オブジェクトに$scope.foo
への参照を持ち、それらを同期させておきたいと思います。AngularJS:Objectプロパティへの変数参照を割り当てます
注:
この質問はAngularJSの文脈にあります。
これは小さな問題であり、JSフレームワークで解決する必要があります。問題とhere
スニペット:Plunkerでソリューションをワーキング
angular.module('app', [])
.controller('Ctrl', ['$scope', function($scope) {
$scope.foo = "eeee";
$scope.bar = {
foo : $scope.foo
};
$scope.do = function() {
alert($scope.foo);
};
}]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app="app">
<div ng-controller="Ctrl">
foo :
<input type="text" ng-model="foo"> {{foo}} <br />
bar :
<input type="text" ng-model="bar.foo"> {{bar}} <br />
<button type="button" ng-click="do()"> DO </button>
</div>
</body>
変更があるたびに不変のオブジェクト参照を参照していますが、私は純粋なJS環境でこの質問をしませんでした。 'foo'と' bar'は、フレームワークによって処理される '$ scope'オブジェクトのプロパティです。これは動作しますが、私はこのパターンをプロダクションアプリに使用することは想像できません...解決策を使って私の質問を更新しました – gr3g