正如您在下面的代碼片段中看到的,$scope.foo
在$scope.bar
對象的foo
屬性上分配。這些只在初始化時同步。 我想在我的$scope.bar
對象中引用$scope.foo
以使它們保持同步。AngularJS:爲變量引用賦予對象屬性
注意:
這個問題是在AngularJS上下文中。
這是一個微不足道的問題,應該在JS框架中解決。在Plunker
工作液:here
片段的問題:
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