我試圖添加一個動態模板,並遇到與transclude的問題。Angularjs指令與動態模板和transclude
這是動態的模板函數:
var getTemplate = function(contentType){
var template = '<button style="cursor: pointer;">' + contentType + '<ng-transclude></ng-transclude></button>'
return template;
};
這是代碼來調用動態模板和更新transclude:
element.html(getTemplate(attr.firstname));
transclude($scope.$parent, function (clone, $scope) {
element.children().append(clone);
});
看完整的代碼在這裏 https://plnkr.co/edit/cQBeiDkEb8KwhrFWb8iR?p=preview
查看控制檯我看到這個通知:angular.js:13920TypeError:transclude不是一個函數
結果應該包括:Go按鈕。
Go按鈕代碼在這裏:
<my-button firstname="John"><button style="cursor: pointer;"><i style="color: green;">Go</i></button></my-button>
請幫我解決這個問題。
這是我的文檔使用:docs
非常感謝你。
Transclusion已多次更改,因爲這文章寫的; 2015年的語法不適用於更多當前版本的Angular,並且很可能這種邏輯不會成爲您期望的。你應該重新思考你正在努力完成的任務,併發佈一個問題,詢問如何實現你的目標,而不是如何解決過時文章中的錯誤;除非,就是說,你使用的角度與所討論的文章完全相同*版本,這可能不是一個好主意...... – Claies