第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

請教一個angularjs中在指令調(diào)用controller方法的問題

請教一個angularjs中在指令調(diào)用controller方法的問題

紅顏莎娜 2019-04-16 20:27:22
有一個需求,需要在指令中調(diào)用指令所在controller里的方法,我舉個簡單的例子,代碼如下:Documentcontroller和directive的代碼如下:varapp=angular.module('myApp',[]);app.controller('myCtrl',function($scope){$scope.click=function(param){console.log(param);}}app.directive('myDir',function(){return{restrict:'AE',replace:true,template:'',scope:{myClick:'&'},link:function(scope,elem,attr){scope.inputClick=function(){scope.myClick("123");}}}});使用這種方式,倒是可以調(diào)用到controller里的click方法,但是參數(shù)沒法傳遞過去,打印出來的param始終是undefined,是不是我這種調(diào)用方式壓根就是錯誤的啊,那么如何應(yīng)對這種需求呢,求大神指教,在線等,謝了?。?!
查看完整描述

2 回答

?
蝴蝶不菲

TA貢獻1810條經(jīng)驗 獲得超4個贊

你需要把scope.myClickparse成一個function,然后再調(diào)用它。
varfn=$parse(scope.myClick);//parseitasfunction
fn('123')//callthefunction.
你可以參照一個rightClickdirective的寫法:
.directive("rightclick",['$parse',function($parse,$scope){
return{
restrict:'A',
transclude:true,
scope:{
'rightclick':'&rightclick'
},
link:function(scope,element,attrs){
element.bind('contextmenu',function(event){
varfn=$parse(scope.rightclick);//parseitasfunction
scope.$apply(function(){
event.stopPropagation();
event.preventDefault();
fn();
});
});
}
};
}])
                            
查看完整回答
反對 回復 2019-04-16
  • 2 回答
  • 0 關(guān)注
  • 400 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號