問題タブ [angularjs-controller]
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 - 別のモジュールの子コントローラーを使用する
モジュールを定義し、ng-app ディレクティブを使用してアプリのメイン モジュールにしました。angular.module('myApp').controller() を使用して、メイン アプリに 2 つのコントローラーを追加しました。これらのコントローラーの 1 つはページ全体のスコープを持ち、もう 1 つのコントローラーは子コントローラーです。
私が今やろうとしているのは、別のモジュール (メインの myApp モジュールではない) に属するコントローラーを含めることですが、わかりません。コントローラーの名前空間をグローバルにしたくありません。
誰でもこれを行う方法を知っていますか?
これが私がこれまでに持っているものです:
このコードは、基本的に othermodule.controller コントローラーが見つからなかったことを示す JavaScript エラーと共に次のように出力します。
アプリのメイン コントローラーのコンテンツ
アプリのサブコントローラーの内容
{{コンテンツ}}
正確なエラー:
angularjs - ページで子角度コントローラーを作成する方法は、ページのメインコントローラーによって異なります
私のWebページには、$httpまたはgetJSONを使用してサーバーからデータを呼び出すことにより、サービスを使用して初期化を行う必要があるメインコントローラーがあります。メインコントローラーがデータの読み込みを完了したら、呼び出すべきではないページに他の子コントローラーがあります。コントローラに DI を挿入する方法は?
Edit1 ex:
サービスがサーバーを呼び出してデータを取得し、終了したらそれについて他の人に通知する、スクリプトのオンロードからAngularコントローラーを呼び出すに似たもの。これは可能ですか?
angularjs - angularjs:ルート変更の防止
コントローラーで次のことを試しました:
しかし、うまくいきません。それはそれを行う方法ではないはずですか?
angularjs - データの変更後に AngularJS コントローラーを再インスタンス化するにはどうすればよいですか?
私は調べましたが、これは単純だと思いますが、これに関する API ドキュメントを理解できませんでした。
最初に呼び出されたときにデータを取得するコントローラーがあるとします (もちろん、かなり省略しています)。
これはうまく機能し、ページが読み込まれると、必要なとおりに $scope.data が入力されます。しかし、もちろん、ユーザーはデータを更新したいと思うかもしれません。サーバーがフォームの「保存」ボタンをクリックしたときに呼び出される単純なサービス「Data.save()」を想定します。
サーバーから最新のデータを取得するためにコントローラーを再インスタンス化する成功コールバックに何を入れますか? 現在、更新されたデータを取得するためにページを更新する必要があります。結果と変更をキャッシュすることでサーバー呼び出しを最小限に抑えることについて、今のところ心配していません。これを最初に機能させる必要があります。
ありがとう!
angularjs - コントローラーとディレクティブ間の角度通信
ユーザーがアイテムのリストにコメントを残すことができるこのコードがあります。ユーザーがコメントを送信できるようにするために、ディレクティブを作成して keydown をリッスンしますkeyCode == 13
。
ディレクティブ内にコメントを投稿するコードを含める必要があるかどうかわかりません。コントローラーとディレクティブの間で通信する最良の方法は何ですか?
コメントを送信する前に、入力が空かどうかも確認します。動作しますが、これが Angular のベスト プラクティスかどうかわかりませんか?
これが私のプランカーです。
angularjs - Angularjs: モデル バインディング
入力タグを動的に作成するディレクティブがあります。変更イベントで作成された入力の値を取得する必要があります。その代わりに、引数のname
属性は未定義です。ディレクティブコントローラーで値を取得するには?$scope
controller
ng-model
javascript - サービスを介してコントローラー間で変数を共有する
私が理解していることから、共有されるサービス変数はオブジェクトであるため、コントローラー 1 によってサービスにロードされるオブジェクトは、$watches やリスナーなどを必要とせずに、コントローラー 2 によって明確に表示されるはずです。私が間違っている?どうすればこれを機能させることができますか?
javascript - Angular JS は、データがサーバーから返されるまでコントローラーとディレクティブの初期化を遅らせます
私の AngularJS アプリでは、コントローラーといくつかのディレクティブを初期化する前に、サーバーからのメタデータが必要です。データを返すサービスがありますが、コントローラとディレクティブがデータを待つことができませんでした。
db.metadata() への呼び出しが戻る前に、ディレクティブが未定義の $scope メンバーを使用して初期化を試みるため、これは明らかに機能しません。$routeProvider 解決プロパティを使用してみました:
インジェクション配列の「メタデータ」のミニフィケーションに適した宣言により、Angularが吐き出すため、これは実行されません。宣言を削除すると、挿入されたメタデータが未定義になります。私は何を間違っていますか?