1

私の角度指示にlink関数を定義した場合、その指示の中の特定の要素を選択する最良の方法は何ですか?たとえば、これは私のテンプレートのURLである場合:ディレクティブ内の要素を正しく選択する方法は?

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

と私はinputを選択したい、私のリンク機能でinputタグへの参照を取得するための最良の方法は何ですか?

私の最初の考えは、それに基づいてinputタグにid属性を入れて選択したが、これはディレクティブですので、私は必ずしもそれが使用されている場所を知って文句を言わないので、私が選ぶものは何でもIDが一意ではないかもしれません。

+0

で使用できるjqlite関数の一覧です。あなたはいつもあなたが扱っている分野を知っているでしょう。 –

+0

@ HugoS.Mendes私はあなたを正しく理解していれば、それは良い考えだとは思わない。これは、ディレクティブのユーザーに関係してはならない、内部的な実装の詳細です。誰でもこれを使用しても、どの内部要素が選択されているか、どのようにしているかは気になりません。 –

+0

hmm ..意味がある:o –

答えて

4

最良の方法は、角要素オブジェクトを使用することです、それはjqlite機能が組み込まれていて、あなたは常に純粋なDOMを取得し、querySelector EJを使用することができますサポートしていませんjQlite一意でない要素か何かのために:

ここ

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

関連する問題