2017-11-17 15 views
0

私はA4のDOM要素にアクセスする方法を探しています。角4でDOMを横方向/操作する方法

私はこれについて私の頭を包み込むのを苦労しています...私はElementRef、ViewChildなどについて読んできました...しかし、私はまだAngularのDOM要素を横断する方法を完全に理解していません4.例えば、このjQueryステートメントはA4の中に何かありますか?

$('events > ion-content > div.scroll-content > ion-grid:nth-child(1)').css({blah blah}); 

同様:

ElementRef.nativeElement - events > ion-content > div.scroll-content > ion-grid:nth-child(1) 

私は上記の方法でその要素にアクセスするにはどうすればよい - 任意のIDS、クラス、または#templateのタグを追加することなく?特定の状況では、htmlにアクセスできないので、jQueryを使用せずにこれを行う方法を知りたいのですが、角度で眉をひそめるので:[

+0

を購読なぜあなたはそれを行う必要がありますか?それはおそらくあなたが求めている質問です。これは通常迷惑な質問ですが、jQueryとAngle-esqueフレームワークの間で移行する際には、複雑なDOM要素の選択や操作を明示的に行う必要はありません。あまり説明的ではない、ただドラッグ・ドロップなどをしようとしていると言ってください。 –

+0

@NicholasKyriakidesこのニーズに遭遇したのは、イオン発生ラジオ・アラートに検索バーを追加しようとしたときでした。私は現在、検索バーを追加するためにjQueryを使用することができますが、どこでも指摘されているように、jQは適切なA4ではありません。他の時は要素の高さ、スクロール位置などを追跡します。 – RooksStrife

+0

要素にアクセスする方法を探しています。 – RooksStrife

答えて

0

どうすれば <ion-grid [class.add-this-class]="whenThisState === true"></ion-grid>?あなたがそれを気に入ったら、 またはngClassの構文。

または、その要素を親コンポーネントまたは他のコンポーネントから取得しますか?

-EDIT-

私は前に述べたように、あなたが角度のテンプレートに行くことができないと、一部が結合なければ、基本的には2つのオプションバニラJSありますngAfterViewInit()ライフサイクルで private theElementYouAreLookingFor: HTMLElement

をフェッチしようJSでのそれと新しい角度方法 @ViewChild('someVar') el:ElementRef; constructor(private renderer: Renderer2) {} を使用し、012にしてそれをthis.theElementYouAreLookingForまたは

を保存this.el.nativeElement();

またはこのようなObservables何か使用して: `constのclickEl = document.querySelector( '#私のボタンを');

のconst(、 'クリック' clickEl)$ = Rx.Observable.fromEventをクリックしてください; `

をしてから

click$.subscribe(...)

+0

この場合、html要素にアクセスできません。 – RooksStrife

+0

フィードバック@RooksStrifeに基づいて、別の回答を投稿しますが、角度テンプレートにアクセスできないということをどのように具体的に教えてください。それはiframe内にありますか? – DrNio

関連する問題