在angularjs指令的链接函数中混淆属性

时间:2014-10-08 20:53:02

标签: angularjs angularjs-directive

我正在写一个angular.js指令,它会有条件地隐藏元素。 所以它看起来像这样:

link: function(scope, elem, attrs) {
      ...
      elem.hide()
}

我发现很多例子都是这样做的,但不知何故我的elem属性是一个数组而不是一个元素,所以它没有hide()方法。 我错过了什么?

谢谢!

1 个答案:

答案 0 :(得分:2)

大多数人在加载角度之前加载jQuery,这会将jqLit​​e扩展为完整的jQuery。

hide方法似乎不是jqLit​​e API(https://docs.angularjs.org/api/ng/function/angular.element)的一部分,因此不会公开此类方法。

这并不意味着您需要jQuery,但这不是处理问题的正确方法。已经有ng-showng-if指令来条件隐藏基于控制器的元素,你不能使用它们吗?

在您的HTML中,添加<div ng-show="isDisplayed">,并在您的关联功能scope.isDisplayed = false

中添加