問題タブ [angular-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.
javascript - Angular を使用して AWS で API をヒット/消費する適切な方法は何ですか?
私は新しいプロジェクトに飛び乗り、Angular でまったく新しいフロントエンドを構築しています。既存のプロジェクトには、フロントエンド アプリケーションがヒットする (AWS 上の) RESTful API があります。
以前の趣味のプロジェクトでは、セットアップは次のとおりでした。
- クライアントが GET リクエストを行い、Angular Controller の関数をタップします
- Angular Controller はリクエストの要素を検証し、Angular Factory を呼び出します
- Angular Factory はリクエストを受け取り、$http.get を Express ルートに実行します
- Express route は実際のリクエストを外部の API url に送信し、次にレスポンスを Factory に返します。Factory はレスポンスを Controller に渡し、フロントエンドに戻します。
これは、このようなものを設計する適切な方法ですか? それとも、AWS で既存の API にアクセスするために別のタイプのセットアップを検討する必要がありますか?
javascript - コールバック関数の値をサービスからコントローラーに渡す方法
コントローラーを使用してサービスから返された値にアクセスするにはどうすればよいですか。私のコードでは、service.js 関数showInfo()が JSON オブジェクトを返します。しかし、この関数の外ではこれらのオブジェクトにアクセスできません。controller.js から console.log を実行しようとすると
console.log(chartService.showInfo.new_data)
私は得る
エラー undefined のプロパティ 'new_data' を読み取ることができません。
しようとしても同じことが起こります
console.log(chartService.showInfo)
undefinedになります。
コントローラーから関数 showInfo 内の JSON オブジェクト new_data にアクセスするにはどうすればよいですか?
Service.js
Controller.js
javascript - AngularJS:サービスメソッドをコントローラ $scope とビューで ng-repeat (it) に割り当てる方法は?
コントローラーから機能を分離してサービスを開始しようとしています。これにより、異なるコントローラー間で同じ機能を追加することなく、複数のコントローラーで使用できるようになります。
サービスで構成しようとする前の元のコントローラーは正常に機能しており、以下のように見えます (colorController.js):
colorController.js
そして以下は、サービスと新しいコントローラーでそれを分離しようとするコードです
rangeService.service.js
rangeController.js
上記の出力 console.log($scope.range); 空の配列です []
次のように、RangeService に何らかの引数を渡すと:
その後、ブラウザに正しい出力が表示されます。
以下のコードに示すように、これらの引数を colors.html 内で実行する必要があります。
以下はhtmlコードです。
ここで変更したのは、 ng-controller="ColorController" から ng-controller="RangeController" だけです
色.html
javascript - AngularJS ディレクティブがハードコードされた値で機能するのに、http 要求/応答で失敗するのはなぜですか?
Angular初心者の質問:
コントローラーとディレクティブがどのように連携するかを示す単純な AngularJS テスト アプリケーションがあります。コントローラーはハードコードされた値aB
をいくつか設定aC
し、スコープとディレクティブはこれらの値を HTML で表示します。できます。これがJSFiddleです。コードは以下です。実行すると、コンソール出力が期待どおりであることを確認できます。
ただし、ハードコーディングされた値をテスト API から取得した値に変更すると、失敗します。コンソール出力は次のとおりです。
私が行った唯一の変更 (この新しいJSFiddleで確認できます) は、コントローラーのmyFunc
関数にありました。ハードコードされた値を次のように置き換えました。
経由で API の応答をテストしましたが、curl
正常に動作しています。aB
では、ディレクティブが と の値をaC
として報告するのはなぜundefined
でしょうか? この問題を解決するにはどうすればよいですか? これは、HTTP 呼び出しの非同期性に関係していると言えます。しかし、これを正しく機能させる方法がわかりません。
HTML:
作業中の Javascript:
更新:
Claies は、このJSFiddleを使用することを提案しました。しかし、ディレクティブのコントローラーでaB
との値にアクセスできるようにする必要があるため、それはうまくいきませんaC
値に基づいてテンプレートを変更する必要があります。この JS Fiddle は、それらが常に未定義であることを示しているようです。
javascript - AngularJS $scope が DOM で更新されない
私は次のコードを持っています:
状態(簡単にするために短くしましょう)
コントローラー
template.html
その他の html 部分
controllerscope
に変数があります。controllerと一緒に宣言されたテンプレートで、双方向バインディングが正常に機能しています。しかし、.を使用してコントローラーをバインドした他の部分テンプレートではそうではありません。state
ng-controller
これは何かのバグですか?または、何か不足していますか?ありがとう。
angularjs - AngularJs - 子モジュールを他の子モジュールに注入する
ばかげているように聞こえるかもしれないシナリオがありますが、動かなくなって、それが機能しない原因を理解しようとしています。
今のところ3つのモジュールを持つAngularアプリがあります
すべての子モジュールで使用したい親モジュール (mainApp) にいくつかの構成とデフォルト文字列を設定しました。
一方、私の reviewModule と searchmodule (子モジュール) には、別のルートで使用している別のコントローラーとサービスがあります。さて、あるモジュールのサービスを別のモジュールに使用したいときに問題が発生します。たとえば、次のようにすると
検索モジュール コントローラーで reviewModule サービスを使用しようとすると、次のような例外が発生します。
両方の子モジュールは同じ親を持ち、一方の子モジュールをもう一方の子モジュールに使用したいのですが、なぜこの例外が発生するのか理解できませんでした。
アップデート:
モジュール宣言に以下の行を使用してみました
しかし、これも例外を引き起こします。
angularjs - AngularError - app.controller(...) は関数ではありません
このコードが機能する理由を理解したいのですが、実行すると次のメッセージが表示されます: app.controller(...) is not a function and how can I fix it?
angularjs - Angular、ng-repeatの前にコントローラーをマークアップに割り当てる方法
ng-repeat が自分のことを行う前に、ディレクティブからマークアップにコントローラーを割り当てることが可能かどうか、誰か教えてもらえますか?
以下のコードは、私がやりたいことの単なる例です
問題は、ディレクティブがテンプレートを変更するときに、ng-repeat が既にコンパイルされている ng-controller を割り当てると、データが表示されないことです。ng-controller をマークアップに移動することはオプションではありません。
一番。