这是我在尝试学习角度时遇到的一般问题。
如何创建仅对某些元素起作用的指令 哪个具有指令名称和ID,类或其他属性? 或者/你如何制定一个做不同事情的指令 取决于ID,Class或其他属性?
我不是指作为类创建指令的类型,而只是使用ngClass
。作为一个例子......想象一下,用户正在定义HTML的一部分而我无法触摸它,但我知道会有一个带有ul和li的导航标签。如何制作可应用于id="navi"
导航代码的指令,而不会影响页面上的其他导航代码?
要说清楚,我来自jQuery背景,所以我试图忘掉很多坏习惯lol。我已经习惯了通过$
选择元素或元素集合并应用某种操作或者你有什么的概念。在我无法直接触摸部分HTML的情况下,如何实现这种类型的功能选择性过滤?
答案 0 :(得分:2)
您可以访问element
以及link
函数中该元素的属性。关于你的例子<nav id="navi">
案例:
<nav my-directive id="navi"></nav>
指令时间!
.directive("myDirective", [function() {
return {
restrict: "A",
link: function(scope, elem, attrs) {
if (elem[0].id == "navi") {
//apply specific condition to elem here
}
}
}
}]);
如您所见,您可以检查链接功能中element
的特定属性。 attrs
是一个包含所有元素属性的对象。