在使用服务共享数据时,需要注意一些细节,否则会出现视图不刷新,也不报错这样的问题,遇到了,总结下
如下:
<div ng-controller='ctr1'> <a href="#" ng-click='name()'>1{{name1.name}}</a> </div> <div ng-controller='ctr2'> <a href="#" ng-click='name()'>1{{name1.name}}</a> </div> var app = angular.module('myapp',[]); app.factory('Data', function() { return {} }); app.controller('ctr1',['$scope','$timeout','Data',function($scope,$timeout,Data){ $scope.name1 = Data;//赋值时必须赋值整个Data $scope.name = function(){ //不能直接给Data传值, 如:Data = {name:'李四'}; //需先定义一个对象属性:如下 Data.name = '李四'; } }]); app.controller('ctr2',['$scope','Data',function($scope,Data){ $scope.name1 = Data; $scope.name = function(){ Data.name = '王五'; } }]);
需要注意的就是上的注释