angularjs如何正确选择元素内的指令?

发布时间: 2017/4/16 2:43:06
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

如果我定义了 link 函数为我角的指令,选择内指令的特定元素的最佳方法是什么?例如,如果这是我的模板 url:

<div>
  <form>
    <input></input>
  </form>
</div>

和我想要选择 input ,什么是最好的方法来获取引用 input 中我链接功能的标记?

我最初的想法就是把 id 属性 input 标记和选择的基础上,但由于这是一项指令,我一定不会知道它用那里去,所以无论我选择的 id 可能不是唯一。

解决方法 1:

最好的方法是使用角元素对象,它建立了在 jqlite 函数中,和一个不唯一的元素或东西 jQlite 不支持你总是可以得到纯 DOM,并使用 querySelector ej:

app.directive("directiveName",function()
{
   return{
     template : "<div><span class='aclass'><button>hi</button></span></div>",
     link ( scope, ele, attr){
       var a = ele.find('button');
       console.log(a);
       var b= ele[0].querySelector('.aclass')  //element[0] for the DOM
       console.log(b);
     }
   };
});

这里是你可以使用元素对象https://docs.angularjs.org/api/ng/function/angular.element的 jqlite 函数的列表

赞助商