angularjs – 服务/工厂到控制器的绑定变量
发布时间:2020-12-17 09:05:21 所属栏目:安全 来源:网络整理
导读:我有一个变量将被一个或多个控制器使用,由服务更改。 在这种情况下,我建立了一个服务,保持这个变量在内存中,并在控制器之间共享。 问题是:每次变量更改时,控制器中的变量不会实时更新。 我创建这个小提琴帮助。 http://jsfiddle.net/ncyVK/ —请注意,
我有一个变量将被一个或多个控制器使用,由服务更改。
在这种情况下,我建立了一个服务,保持这个变量在内存中,并在控制器之间共享。 问题是:每次变量更改时,控制器中的变量不会实时更新。 我创建这个小提琴帮助。 http://jsfiddle.net/ncyVK/ —请注意,当我增加count的值时,{{countService}}或{{countFactory}}永远不会更新。 如何在服务/工厂变量绑定到$ scope.variable在控制器?我做错了什么?
您不能绑定变量。但是您可以绑定包含此变量的变量访问器或对象。这里是固定的
jsfiddle。
基本上你必须传递到范围的东西,它可以返回/或保持当前值。例如。 厂: app.factory('testFactory',function(){ var countF = 1; return { getCount : function () { return countF; //we need some way to access actual variable value },incrementCount:function(){ countF++; return countF; } } }); 控制器: function FactoryCtrl($scope,testService,testFactory) { $scope.countFactory = testFactory.getCount; //passing getter to the view $scope.clickF = function () { $scope.countF = testFactory.incrementCount(); }; } 视图: <div ng-controller="FactoryCtrl"> <!-- this is now updated,note how count factory is called --> <p> This is my countFactory variable : {{countFactory()}}</p> <p> This is my updated after click variable : {{countF}}</p> <button ng-click="clickF()" >Factory ++ </button> </div> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |