angularjs – 服务/工厂到控制器的绑定变量

前端之家收集整理的这篇文章主要介绍了angularjs – 服务/工厂到控制器的绑定变量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个变量将被一个或多个控制器使用,由服务更改。
在这种情况下,我建立了一个服务,保持这个变量在内存中,并在控制器之间共享。

问题是:每次变量更改时,控制器中的变量不会实时更新。

我创建这个小提琴帮助。 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>
原文链接:https://www.f2er.com/angularjs/146709.html

猜你在找的Angularjs相关文章