0
我有以下指令,並且爲了使我的expressnum
函數能夠在我的模板中進行評估,我需要使用scope.expressnum = scope.expressnum();
。它有效,但我不知道爲什麼。我想也許這可能與綁定或呼叫命令有關,我嘗試了Google搜索,但似乎無法找到任何東西,很可能是因爲我不知道要尋找什麼。如果有人可以向我解釋這個,我怎麼可能離開scope.expressnum = scope.expressnum();
,仍然能夠在我的模板中使用它,我將不勝感激。爲什麼我需要scope.property = scope.property()才能使表達式正常工作?
app.directive('simplyIsolated', function() {
return{
restrict: 'EA',
replace: true,
scope:{
attnum: '@numone'
,bindnum: '=numtwo'
,expressnum: '&sq'
}
,link: function (scope, elem, attr){
scope.expressnum = scope.expressnum();
}
,template:'<div><p> using "@" = {{attnum+attnum}}</p>'+
'<p>using "=" {{bindnum+bindnum}}</p>'+
'<p>using "&" {{expressnum(bindnum)}}</p><br/><p>{{y}}</p>'+
'</div>'
};
});
但通過將'expressnum(bindnum)'放在一個表達式中,它不會執行它嗎? – jonnie
@jonnieM - 不會。您會發現'scope.expressnum'將包含一個包裝表達式的函數。像'function(){return expressnum(bindnum); }' –