ランダムに生成されたIDを持つ要素があります。私の質問はコントローラからアクセスできる方法です。angle.element()を使用する方法。動的に生成された要素IDとバインド
self.componentId = '#' + Math.random().toString();
angular.element(self.componentId).bind('scroll', function() {
if (angular.element(this).scrollTop() + angular.element(this).innerHeight() >= angular.element(this)[0].scrollHeight) {
console.log('testing 123');
}
});
とhtml要素に私は
<div id={{$ctrl.componentId}}></div>
を持っている私の質問は、私はそれがイベントをスクロール表示させるために上記の機能に変更するために必要なもの、シンプルです。私はangular.element(「#hardcodedId」)に渡すと、それは...仕事<div id={{$ctrl.componentId}}></div>
はself.componentId = '#' + Math.random().toString();
後immidiatelyに評価されていないためだが、角度がダイジェスト・サイクルを開始したとき
は、私はには2つのソリューションを参照してください
AngularJSフレームワークでは、要素evenコアディレクティブまたはカスタムディレクティブのいずれかのAngularディレクティブを使用して関数にバインドされています。詳細については、[AngularJS Developers Guide - カスタムディレクティブの作成](https://docs.angularjs.org/guide/directive)を参照してください。ディレクティブは要素自体に関連付けられているため、要素idを知る必要はありません。 – georgeawg