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