是否有一種標準的方式通過擴展現有的指令來創建新的Angular指令?撰寫/擴展/「子類」Angular指令?
具體來說,我想自定義angular-contenteditable
允許通過編輯選項更多的控制,比如防止換行:
<h1 my-custom-content-editable prevent-newlines="true">Hello, world!</h1>
其實現是一樣的東西:
app.directive("myCustomContentEditable", function() {
return {
link: function($scope, elem, attrs) {
angular.element(elem).on("keydown", function($event) {
if (attrs.preventNewlines && $event.keyCode == 13)
$event.preventDefault();
});
},
};
})
會是什麼最好在我的自定義指令中擴展contenteditable
指令的方法?
請注意,我知道我可以將標記級別的指令組合起來 - <h1 contenteditable my-custom-content-editable>…</h1>
- 但我想知道如何創建一個擴展另一個指令的單個指令。
有用的答案永遠在這裏:http://stackoverflow.com/questions/17005122/extending-angular-directive – SoluableNonagon 2014-12-01 21:50:39
爲什麼沒有一個子類/擴展/組合指令? – 2014-12-01 21:57:47
我不確定你寫的是什麼意思,但是子類/擴展指的是繼承,對吧?我相信,因爲角度不支持這種功能。您可以定義自己的指令,並且可以覆蓋指令,但據我所知,您不能在JS中使用原型繼承模型來擴展現有指令。另外,結合上面我的示例中的多個指令通常會實現您正在查找的結果。 – SoluableNonagon 2014-12-01 22:21:47