我試圖做指令,其中包含模板,但存在一個問題 - 編譯所有屬性後,包括ng-model在內,不會轉換爲新元素而ng-model不起作用。 我哪裏錯了?使用jQuery替換元素後,指令不會轉換屬性
元素代碼:
<input type-test="kendo">
指令:
App.directive('typeTest', ['$templateCache', '$compile', '$http', 'Formatter',
function ($templateCache, $compile, $http, Formatter) {
return {
restrict: 'A',
scope: {
ngModel: '='
},
replace: true,
link: function(scope, element, attrs) {
$http.get(Formatter.getTemplateUrl(attrs.typeTest), {cache: $templateCache}).success(function(tplContent) {
var el = $compile(tplContent)(scope);
element.replaceWith(el);
});
}
}
}
]);
Formatter.getTemplateUrl()返回的URL模板依賴於輸入參數(attrs.typeTest)。
模板鍵入測試= 「劍道」:
<input type="text" kendo-drop-down-list k-data-source="list" k-data-text-field="'Name'" k-data-value-field="'Id'">
列表被定義如[{ID:1,名稱: '第一'},{ID:2,名稱: '第二'}] 。
無論如何,這不會解決問題 - 我不能綁定NG-模型的新元素。 – user3479807