angularjs 中directive的scope問題
angularjs 中directive的scope問題?
幕布斯6054654
2019-02-05 10:06:50
TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超3個(gè)贊
templateURL function 只有2個(gè)參數(shù) elem
和 attr
哦。不能訪問scope
,因?yàn)槟0嬲?qǐng)求是在scope
初始化之前。
可以通過屬性傳輸,然后獲取return 'customer-'+attr.type+'.html'
,或者
... link: function(scope) { scope.customerUrl = 'customer-'+scope.type+'.html'}, template: '<div ng-include="customerUrl"></div>'...
TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個(gè)贊
templateUrl執(zhí)行還在compile之前,從哪里去注入的scope?
templateUrl的參數(shù)只有element,attrs。
如果你的type是靜態(tài)的,可以這樣用
<my-dir type="template.html"></my-dir>
.directive('myDir', function () { return { scope: { type: '@' }, templateUrl: function (element, attrs) { return attrs.type; } } });
舉報(bào)