加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读