AngularJS指令之间的通信

11 浏览
0 Comments

AngularJS指令之间的通信

我对Angular.js还不熟悉,但是我的应用程序需要一些指令之间的通信。我阅读了一些关于link和require的文档,但是并不完全理解它们的工作原理。

这是一个简单的例子: live fiddle : http://jsfiddle.net/yw235n98/5/

  • 2个指令:firstDir, secondDir :: 带有一些数据
  • firstDir有一个点击函数,可以更改数据值
  • 当触发firstDir的点击函数时,我也想在secondDir中更改数据。

HTML:


第一个指令:

    

{{firstCtrl.data}}

第二个指令:

{{secondCtrl.data}}

Javascript:

(function(){
    var app = angular.module('myApp', []);
    app.directive("firstDir", function(){
        return {
            restrict : 'E',
            controller : function(){        
                this.data = '初始值';
                this.set = function(value){
                    this.data = value;
                    // 与第二个指令通信???
                }       
            },
            controllerAs : 'firstCtrl'
        };  
    });
    app.directive("secondDir", function(){
        return {
            restrict : 'E',
            controller : function(){        
                this.data = '初始值';   
            },
            controllerAs : 'secondCtrl'
        };  
    });
})();

0