亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

angular一代,不同directives之間怎么操作$interval?

angular一代,不同directives之間怎么操作$interval?

MYYA 2018-09-11 09:09:45
有2個兄弟指令<hello>和<world>,hello指令操作后world指令的數據,使得world指令的數據發生變化,從而改變UI界面。現在world指令里有2個定時任務,hello指令要怎么停止world指令里的定時任務再重新打開或者重新設定定時任務?html:<hello></hello> <world></world>
查看完整描述

1 回答

?
交互式愛情

TA貢獻1712條經驗 獲得超3個贊

是這樣的,在angular1中,我們可以通過事件系統來搭建兩個不同指令之間的“橋梁”

在你的case里,你就可以在hello指令里,先注入$rootScope,然后通過她向下廣播一個事件,例如:

$rootScope.$broadcast('stop-interval');

然后在world指令中,拿到link函數的第一個參數scope,然后通過她注冊一個stop-interval的事件監聽,例如:

app.directive('world', function(){    return {        restrict: 'e',        scope: {},        
                    link: function(scope, element, attrs){
            scope.$on('stop-interval', function(){                //在這里,放心大膽的取消你之前已經開啟的interval吧
            });
        }
    };
});


查看完整回答
反對 回復 2018-10-09
  • 1 回答
  • 0 關注
  • 451 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號