现在我正在尝试与工厂在控制器之间共享数据。 我想要的是每当我更新控件 A 中的输入值时,控件 B 中的值都会更新。你能指出我的问题在哪里吗?
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
};
});
目录:
<div ng-controller="MainCtrl">
<input ng-model="user.name" />
</div>
<div ng-controller='linctr'>
<div>{{super.name}}</div>
</div>
在第二个控制器中使用:
.controller('linctr', function($scope, share) {
$scope.super = share.user;
});
在本例中,$scope.super
指向与share.user
相同的对象。否则,当您这样做时
$scope.super = {
name: share.user.name
};
super
与share.user
对象没有联系,它只是分配其属性name
的原始值。