angular.module('todomvc')
.directive('todoFocus', function ($timeout) {
'use strict';
return function (scope, elem, attrs) {
scope.$watch(attrs.todoFocus, function () {
$timeout(function () {
elem[0].focus();
}, 0, false);
});
};
});
私は最近、JSサンプルコード(angularJS)のカスタムディレクティブを分析していましたが、この行に出くわしてイライラしました。
elem[0].focus();
elem [0] .focus();を変更しようとしたとき。 to elem.focus();ディレクティブ全体が機能しません。ただし、elem.bind( 'keydown'、someFunction(){});を含むカスタムディレクティブを作成しようとする以前の試みでは、 [0]なしのelemのみが正常に機能しました。
私の質問は次のとおりです。これらのカスタムディレクティブの作成におけるelemとelem [0]の違いは何ですか?
どんな助けでも感謝します!
回答 2 件
基本的に、これらは明らかな違いです。
elemは角度付きのjQliteインスタンスです
elem [0]はネイティブjavascriptオブジェクトであり、jQliteはありません インスタンスなので、jquery DOMメソッドは使用できませんが、ネイティブのみ javascriptのメソッド。
関連記事
- 未登録のHTMLカスタム要素と登録済みのHTMLカスタム要素の違いは何ですか?
- 完全な信号またはチャンクで平均化された類似のFFTコード間の違い
- 2つの日付の差を取得し、日付1が古い場合は何も表示しません
- 「|の違い計算およびIFステートメント内の「」または「&」
- joda ChronologyとDateTimeZoneの違いは何ですか?
- アノテーションスプリングを介してデータベースから取得する方法の違いは何ですか?
- nplinspaceとnparangeの違いは何ですか?
- 2つのスキーム「無限ループのメーカー」の違いは?
- C ++言語のMPIライブラリを使用して並列コードと順次コードの違いを理解しようとしていますが、誰か助けてもらえますか?
- データ/キーのコンマとテキストのコンマの違いでjsonにフォーマットする方法は?
関連した質問
- filterメソッドを使用した後、1つの配列を返しました
- JavaScript:配列内のすべての繰り返し値を0に変更します
- 複数のキーを同時に使用してオブジェクトの配列を並べ替える方法は?
- javascriptで配列の最も繰り返される値を降順でソートして返す関数を作成するにはどうすればよいですか?
- javascriptでオブジェクト値をフラット化する方法
- オブジェクトに対して関数を実行できません:理由を理解できません:javascript
- 配列を並べ替えて、そこからreaminingオブジェクトを削除します
- Reactjs無限スクロールコンポーネントは常に新しいデータをレンダリングします
- 文字列内からカンマなどを削除するにはどうすればよいですか?
- 配列内のn個のアイテムごとに追加します
angularJsドキュメントによると、jQueryオブジェクトを返します。
elem[0].focus()
に悩まされている場合$(elem).focus()
を使用できます