现在我正在尝试在工厂的控制器之间共享数据。我想要的是每当我在controlA中更新我的输入值时,controlB中的值将被更新。你能指出我的问题在哪里吗?
var app = angular.module('app', []);
app.factory('share', function() {
return {
user: {}
};
})
.controller('MainCtrl', function($scope, share) {
$scope.user = {
name: 'lin'
};
share.user.name = $scope.user.name;
console.log(share.user.name);
})
.controller('linctr', function($scope, share) {
$scope.super = {
name: share.user.name
};
});
HTML:
<div ng-controller="MainCtrl">
<input ng-model="user.name" />
</div>
<div ng-controller='linctr'>
<div>{{super.name}}</div>
</div>
答案 0 :(得分:1)
在第二个控制器中使用:
.controller('linctr', function($scope, share) {
$scope.super = share.user;
});
在这种情况下,$scope.super
指向与share.user
相同的对象。否则当你做
$scope.super = {
name: share.user.name
};
super
与share.user
对象没有关联,它只是为其属性name
分配原始值。