在使用服务共享数据时,需要注意一些细节,否则会出现视图不刷新,也不报错这样的问题,遇到了,总结下
如下:
<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 = '王五'; } }]);
需要注意的就是上的注释
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步