Javascript AngularJS将工厂中的值绑定到控制器

Javascript AngularJS将工厂中的值绑定到控制器,javascript,angularjs,Javascript,Angularjs,我试图通过工厂连接两个控制器。我想在一个控制器中设置一个指针,指向工厂中的值myFactoryVar,这样当工厂中的值更改时,控制器中的值controllerVar也会更改。 我读过这篇文章,有好几篇喜欢它 但我似乎无法使它与我的代码一起工作。也许是格式?也许我绑定到了一个原语类型而没有任何意义。这是我到目前为止得到的,你知道如何使它按预期工作吗 控制器1: ;(function() { 'use strict'; angular .module('myapp'

我试图通过工厂连接两个控制器。我想在一个控制器中设置一个指针,指向工厂中的值
myFactoryVar
,这样当工厂中的值更改时,控制器中的值
controllerVar
也会更改。 我读过这篇文章,有好几篇喜欢它 但我似乎无法使它与我的代码一起工作。也许是格式?也许我绑定到了一个原语类型而没有任何意义。这是我到目前为止得到的,你知道如何使它按预期工作吗

控制器1:

;(function() {
    'use strict';

    angular
        .module('myapp')
        .controller('MyCtrl1', MyCtrl1);

    function MyCtrl1(myTracker) {

        var vm = this;

        angular.extend(vm, {
            controllerVar: myTracker.myFactoryVar,
            myTrackerVarIncrement: myTrackerVarIncrement

        });

        function myTrackerVarIncrement() {
            myTracker.myFactoryVarIncrement();
            /* should log the same value as myFactoryVar but doesn't */
            console.log(vm.controllerVar);
        }
    }
})();
控制器2:

;(function() {
    'use strict';

    angular
        .module('myapp')
        .controller('MyCtrl2', MyCtrl2);

    function MyCtrl2(myTracker) {
        var vm = this;

        angular.extend(vm, {
            myTrackerVarIncrement: myTrackerVarIncrement
        });


        function myTrackerVarIncrement() {
            /* I want to be able to increment the value in the factory, */
            /* and by means of that, the value in the other controller too */
            myTracker.myFactoryVarIncrement();
        }

    }
})();
工厂:

;(function() {
    'use strict';

    angular
        .module('myapp')
        .factory('myTracker', myTracker);

    function myTracker() {

        var factory = {
            myFactoryVar: 1,
            myFactoryVarIncrement: myFactoryVarIncrement
        };

        return factory;

        function myFactoryVarIncrement() {
            factory.myFactoryVar += 1;
        }

    }
})();
也许我绑定到了一个原语类型而没有任何意义

myFactoryVar
是对象的属性。共享作为属性的对象的引用

;(function() {
    'use strict';

    angular
        .module('myapp')
        .controller('MyCtrl1', MyCtrl1);

    function MyCtrl1(myTracker) {

        var vm = this;

        angular.extend(vm, {
            //controllerVar: myTracker.myFactoryVar,
            controllerRef: myTracker,
            myTrackerVarIncrement: myTrackerVarIncrement

        });

        function myTrackerVarIncrement() {
            myTracker.myFactoryVarIncrement();
            /* should log the same value as myFactoryVar but doesn't */
            //console.log(vm.controllerVar);
            console.log(vm.controllerRef.myFactoryVar);
        }
    }
})();

绑定到引用以共享内容。

错误是什么?就是这样。现在一切正常。非常感谢。