我在寫一個angular.js指令,它會有條件地隱藏元素。 所以它應該是這樣的:混淆了angularjs指令的鏈接函數中的屬性
link: function(scope, elem, attrs) {
...
elem.hide()
}
我發現了很多的正在做的正是這樣的例子,但不知何故,我ELEM屬性是一個數組不是元素,因此它不具有隱藏()方法。 我錯過了什麼?
謝謝!
我在寫一個angular.js指令,它會有條件地隱藏元素。 所以它應該是這樣的:混淆了angularjs指令的鏈接函數中的屬性
link: function(scope, elem, attrs) {
...
elem.hide()
}
我發現了很多的正在做的正是這樣的例子,但不知何故,我ELEM屬性是一個數組不是元素,因此它不具有隱藏()方法。 我錯過了什麼?
謝謝!
大多數人在加載jQuery之前加載jQuery,它將jqLite擴展到完整的jQuery。
hide
方法似乎不屬於jqLite API(https://docs.angularjs.org/api/ng/function/angular.element)的一部分,因此不公開此類方法。
這並不意味着你需要jQuery,但它不是處理你的問題的正確方法。已經有ng-show
和ng-if
指令來conditionnaly隱藏基於控制器的元素,難道你不能使用它們嗎?
在HTML中,添加<div ng-show="isDisplayed">,
並在鏈接功能scope.isDisplayed = false
呵呵,你是對的,謝謝:)我不認爲ng-show對我來說很好,我創建了一個指令,閃爍了一條消息,當內容發生變化時,然後自動隱藏時間間隔。所以我認爲我需要這裏的自定義指令。但現在我看到我沒有jQuery的css方法,所以我可以使用這個:element.css(「display」,「none」) – gsanta 2014-10-08 21:31:13
對不起它不是一個數組,看起來像隱藏/顯示方法從這個對象中刪除。 – gsanta 2014-10-08 21:22:50