javascript - 两个自定义指令交互时,第一个指令scope上的值变化时,第二个指令上某个函数执行 怎么操作?

查看:102
本文介绍了javascript - 两个自定义指令交互时,第一个指令scope上的值变化时,第二个指令上某个函数执行 怎么操作?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

weChatDirective.directive('tab1', function() {
    return {
        restrict: 'E',
        replace : true,
        templateUrl: '..',
        controller : function($scope){
            $scope.viewdata = {    
                   "type":"view",
                   "name":"外部连接",
                   "url":"http://www.soso.com/"
            };
            this.viewdata = $scope.viewdata;
            
        },
        link: ...
    };
});

weChatDirective.directive('tabReply', function() {
    return {
        restrict: 'E',
        require : '^tab1', 
        controller : ["$scope",function($scope){
            $scope.hasChanged = function(){};
        }],
        replace: true,
        templateUrl: './dist/weChat/templates/weChatMenuReply.html',
        link: function(scope, element, attr,reController) { 
            console.log(reController);
        }
    }
})

tab1指令中的viewdata变化的时候 想要执行tabReply指令里的hasChanged函数 如何实现??大神赐教。还是我陷入思维误区了。。。。

解决方案

在tabReply指令的controller中加上一行

    $scope.$watch('viewdata',$scope.hasChanged)

这篇关于javascript - 两个自定义指令交互时,第一个指令scope上的值变化时,第二个指令上某个函数执行 怎么操作?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆