如何与服务控制器之间共享和更新数据angularjs(how to sharing and upda

2019-10-21 10:47发布

现在我控制器之间出厂尝试共享数据。 我要的是每当我更新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>

Answer 1:

在第二控制器使用:

.controller('linctr', function($scope, share) {
    $scope.super = share.user;            
});

在这种情况下$scope.super指向同一个对象share.user 。 否则,当你做

$scope.super = { 
    name: share.user.name
}; 

super有没有连接share.user对象,它只是分配财产的原始值name



文章来源: how to sharing and update data between controller with service in angularjs