問題タブ [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.

0 投票する
1 に答える
66 参照

angularjs - Angularjs でのディレクティブからコントローラーへの通信

私はangularjsが初めてです。次のコードがあります。コントローラーでマップのオブジェクトにアクセスしたいと思います。ここで私はそれをコントローラーに渡す方法を知ることができませんか?

私のカスタムディレクティブ:

0 投票する
4 に答える
4731 参照

javascript - Angular ngController とディレクティブ内に構築されたコントローラー

コントローラーを作成するこれら2つの方法のユースケースは何なのか疑問に思っています。

ngController の使用:

controller 属性を使用してディレクティブ内でコントローラーを構築する:

同じ要素で両方が呼び出された場合、ディレクティブ内でコントローラーを構築しない理由はありますか?

コントローラーがどれほど広く使用されているか/複雑であるかという問題ですか?

0 投票する
2 に答える
161 参照

angularjs - AngularJS コントローラー通信

必要なことを正しい方法で行っているかどうかわかりません...コントローラーが2つあります。

SiteMenuCntlおよびDashboardCntl

SiteMenuCntl は UL タグにバインドされており、サイトのメニューです。デフォルトでは非表示になっており、認証情報が確認され、DashboardCntl が読み込まれると、メニューが表示されるはずです。

私はこれを試しました:

ただし、イベント showTree は発生しません。私はどこで間違っていますか?それを行うより良い方法はありますか?

0 投票する
0 に答える
594 参照

javascript - 一般的な Angular JS コントローラー ロジックを作成するにはどうすればよいですか?

私は Angular JS を使用して、動的フォーム生成を処理できる必要がある SPA の概念実証に取り組んでいます。このプロジェクトは基本的に、サーバーに対して評価される質問に答えるためにユーザーが複数の画面を通過するインタビュー スタイルのアプリケーションです。サーバーコールから実際のページコンテンツを取得する、任意のインタビューページを処理できる汎用コントローラーを作成しようとしています (ビューは明らかにページ固有になります)。返されたデータを包含変数にラップするだけで、ページ コンテンツをかなり簡単に処理できるため、ビューはそのルート変数にアクセスし、JSON を使用してパスダウンするだけで済みます。

例 (pageData は汎用コンテナ変数):

問題は、単純なデータ出力よりも少し複雑なものを統合したい場合に発生します-標準テーブルへのページネーションまたはソートを実装するためのngTableディレクティブのようなものです。このためのロジックは、コントローラー内に含まれているはずです。だから私の質問は、JSON 応答を見て、このngTableの行に沿って何かを作成するために、コントローラーに 1 つ以上の動的コードを作成できるように、コントローラーを十分に汎用的にすることができるかどうかです。基本的に、テーブルの設定として使用できるプロパティ オブジェクトを持つ配列を応答で確認し、コントローラーですべての JSON を反復処理してこれらを見つけます。

参考までに、上記のリンクに従って、コントローラーの ngTable に必要なコードを次に示します。

0 投票する
3 に答える
23817 参照

angularjs - 親ディレクティブのコントローラーを再帰的に要求してアクセスする方法は?

親の「ボックス」ディレクティブのコントローラーに再帰的に到達しようとしています:

コントローラー変数がリンク関数にあることを期待しますundefinedが、実際のボックス ディレクティブのコントローラーを取得します。

だから私の質問は...次のような場合にPARENTコントローラーにアクセスする方法です:

http://jsfiddle.net/gjv9g/1/

0 投票する
2 に答える
2454 参照

angularjs - AngularJS の共通コントローラー機能 - 必要に応じてミックスインするか、$rootScope で定義しますか?

私は AngularJS の v1.2.0 rc2 を使用しており、複数のコントローラーに共通の機能を提供するための最良の方法を知りたいです。

モデルを編集するすべてのコントローラーで使用したい次の検証関数があります。

コントローラを DRY に保ちたいので、次のようにファクトリを定義しました。

最初は、次のように、ファクトリを必要なコントローラーにミックスしました。

しかし、次のようにモジュールの run メソッドで $rootScope に追加できることに気付きました。

現在、それらはすべてのコントローラーで無差別に利用でき、配線を行う必要が少なくなります。

関数はビュー テンプレートで次のように使用されます。

私の質問は次のとおりです。

  1. $rootScope に一般的な関数を追加するのは避けるべきですか? もしそうなら、落とし穴は何ですか?
  2. 必要な場合にのみ共通の機能を混在させる方がよいでしょうか?
  3. 同じ結果を達成するためのより良い方法はありますか?

更新されたソリューション

悪臭がする $rootScope に関数を追加する代わりに、カスタム ディレクティブを使用することにしました。

カスタム属性を作成validation-class-for="<input.name>"disabled-when-invalidたので、マークアップは次のようになります。

ディレクティブは単にフォームの祖先を必要とし、関数を監視して状態を判断します。

これで、検証ファクトリーも必要なくなりました。

0 投票する
1 に答える
30 参照

angularjs - コントローラーにローカルを追加する

これは、コントローラーを構築する簡単な例です。$locationコントローラーに を追加する必要がある場合はどうすればよいですか?

例えば

配列表記はどのように見えるべきですか?

0 投票する
2 に答える
3864 参照

angularjs - Angular でのモジュールのロード

私はAngularJSが初めてです。学ぶために、私は AngularJS のチュートリアルに頼ってきました。現在、AngularSeed プロジェクト テンプレートを使用してアプリを構築しようとしています。プロジェクトを可能な限りモジュール化しようとしています。そのため、私のコントローラーはいくつかのファイルに分割されています。現在、私は以下を持っています:

私のapp.jsファイルには次のものがあります:

私の loginCtrl.js ファイルは、現時点では非常に基本的なものです。次のものしかありません。

私の homeCtrl.js は、名前を除いてほとんど同じです。次のようになります。

私の index.html ファイルは angularSeed index-async.htmlファイルです。ただし、依存関係をロードすると、次のようになります。

私の問題は、アプリが機能する場合と機能しない場合があることです。何かが他の何かの前にロードされるようなものです。

時々、このエラーが表示されます。また、コンソール ウィンドウに「Uncaught ReferenceError: app is not defined」というエラーが loginCtrl.js で表示されることもあります。homeCtrl.js で時々発生します。

私は何を間違っていますか?コントローラーをモジュールに入れ、そのモジュールを app.js ファイルの app.config に渡す必要があるように感じます。ただし、a)それが許可されているかどうかはわかりません.b)それを行う方法がわかりません。