angularjs1.x.x通信

监听事件

$scope.$on("someEvent", function(event, data) {
    // 这里取到发送过来的数据 data
});

1. 父组件 => 子组件

Controller 往子 Controller 上发送事件(从作用域往下发送事件),使用scope.$broadcast

$scope.$broadcast("someEvent", {});

2. 子组件 => 父组件

Controller 往父 Controller 上发送事件(从作用域往上发送事件),使用scope.$emit

$scope.$emit("someEvent", {});

以下例子为父->子以及子->父的事件传播




    
    


    
接受消息次数: {{count}}
接受消息次数: {{count}}

3. 组件A = > 兄弟组件B

借助$rootScope广播实现。

.controller('innerCtrlA', ['$scope', '$rootScope', function($scope, $rootScope){
    $scope.change = function(){
        // 广播事件
        $rootScope.$broadcast('nameChanged', $scope.name);
    }
    $rootScope.$on('nameChanged', function(event, data){
        $scope.name = data;
    })
}])

你可能感兴趣的:(angularjs1.x.x通信)