javascript - 两个自定义指令交互时,第一个指令scope上的值变化时,第二个指令上某个函数执行 怎么操作?
巴扎黑
巴扎黑 2017-04-10 17:28:21
[JavaScript讨论组]
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函数 如何实现??大神赐教。还是我陷入思维误区了。。。。

巴扎黑
巴扎黑

全部回复(2)
黄舟

在tabReply指令的controller中加上一行

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

没这样尝试过,如果2个指令需要通信时,可以使用事件$emit,$on来进行。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号