問題タブ [angularjs-scope]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angularjs - angular-bootstrap (タブ): データ バインディングは一方向にのみ機能します
私は少しフィドルを準備し、それを最小限に煮詰めました:
http://jsfiddle.net/lpeterse/NdhjD/4/
最初は、すべてのビューがモデルを参照しますCtrl.foo
。
入力で何かを変更する2:
と、モデルが適切に更新され、この変更がすべてのビューに反映されます。
入力の何かを変更4:
しても、同じペインに含まれるビューにのみ影響します。どういうわけか分岐したスコープのように動作します。その後の変更2:
はタブに反映されなくなりました。
ディレクティブ、スコープ、トランスクルージョンに関する角度のあるドキュメントを読みましたが、この望ましくない動作の説明が見つかりませんでした。
ヒントをいただければ幸いです:-)
angularjs - AngularJSの読み込みが完了したときにイベントを送信する
すべてのディレクティブがコンパイル/リンクを完了したときに、ページの読み込み/ブートストラップの終了を検出するための最良の方法は何であるか疑問に思いました。
すでにそこにあるイベントはありますか?ブートストラップ関数をオーバーロードする必要がありますか?
angularjs - AngularJS: modifying parent scope in ng-include
I found this thread in which the OP's original fiddle where an ng-include
d scope doesn't modify its parent scope.
One of the replies suggests:
It is ugly and unpredictable, so i recommend you to wrap your data in an object variable: http://jsfiddle.net/e5rfP/3/
which seems to work. Why is this?
angularjs - angular.js - evalAsync が呼び出されていません
次の jsFiddle では、考えさせられる問題を示しています。これは、システム全体のイベントをすべてのスコープに送信して、システムがブートストラップを完了したことを伝える必要があることに起因します。そのために、ブートストラップ後に rootScope を取得し、その evalAsync を呼び出しました。ああ!実行されていません。
ここを参照してください:http://jsfiddle.net/cusrC/8/
アイデアや考えをありがとう Lior
angularjs - 複数の要素に対する 1 つのディレクティブ
たとえば、次のような HTML ページがあります。
そしてそのような指令:
問題は、「次へ」ボタンをクリックすると、2番目ではなく最初のスライダーがスライドすることです。どう見ても、スコープは DOM 要素を分離していません。DOM 要素を含むディレクティブのコピーをどのように分離できますか? フィドルの例: jsFiddle
javascript - AngularJS、このサービスの使い方は良いですか?
私はこのHTMLを持っています:
コントローラーは次のとおりです。
サービスは正常に機能するため、ここにコードを貼り付けません...この場合、結果は「Hello world!」になります。HTMLを次のように変更しました。
しかし、これは機能しません。
コントローラを変更しました:
次にHTML
これはうまくいきます!
だから私の質問は:
これがサービスの関数をHTMLで直接使用する唯一の方法ですか、それとも何かが足りませんか?
angularjs - AngularJS で $scope.$watch と $scope.$apply を使用するにはどうすればよいですか?
$scope.$watch
と の使い方がわかりません$scope.$apply
。公式ドキュメントは役に立ちません。
具体的にわからないこと:
- それらは DOM に接続されていますか?
- モデルに対する DOM の変更を更新するにはどうすればよいですか?
- それらの間の接続点は何ですか?
このチュートリアルを試してみましたが$watch
、当然の理解が必要$apply
です。
何$apply
をし、何を$watch
し、どのようにそれらを適切に使用するのですか?
angularjs - 異なるコントローラーからの$rootscopeプロパティを変更します
私のルートスコープにはvisible
、divの可視性を制御するプロパティがあります
HTMLの例:
コントローラ:
上記のセクションは正常に機能し、要素は問題なく表示または非表示になります。別のセクションの同じページで、visible
変数を変更してdivを表示しようとしましたが、機能しません。
コントローラ:
angularjs - ページをリロードせずに$hhtp.get()を2回使用してAngularJSコントローラーのデータを更新する方法
私は次のように見ています(簡潔にするために短縮されています):
<form-a>, <form-b>, <form-c>
templateUrlをロードし、独自のコントローラーを持つ角度ディレクティブです。
上記のビューのコントローラーは次のとおりです。
ご覧のとおり、このコントローラーは$ http.get()を使用して一部のデータをフェッチします。
さて、コントローラーは<form-a>
いくつかのデータを投稿します。これにより、上記のコントローラーがフェッチしたのと同じデータが更新されます。<li>
つまり、ビューの先頭にあるタグに新しいエントリが必要です。
ただし、ページのコントローラーはすでに$ http.get()リクエストを実行しています。最初のコントローラーのリスト情報が更新されるように、データを再度取得するように依頼するにはどうすればよいですか?つまり、データが変更された場合、最初のコントローラーに、データを再度$ http.get()するために使用できるイベントハンドラーがありますか?
ページが更新または再ロードされないため、上記のコードを使用したコントローラーは$ http.get()を1回だけ呼び出し、同じページのディレクティブのコントローラーがデータを更新する場合、最初のコントローラーがそのデータを更新します。