[解決済み] AngularJSのコントローラ作成時にパラメータを渡すことは可能ですか?
2022-02-15 13:33:18
質問
APIと通信して、ユーザーのプロパティ(名前、メールアドレスなど)を更新する役割を持つコントローラがあります。各ユーザーには
'id'
これは、プロファイル・ページが表示されたときに、サーバーから渡されます。
この値をAngularJSコントローラに渡して、現在のユーザのAPIエントリーポイントが何であるかを知ってもらいたいと思います。私はこの値を
ng-controller
. 例えば
function UserCtrl(id, $scope, $filter) {
$scope.connection = $resource('api.com/user/' + id)
で、HTMLでは
<body ng-controller="UserCtrl({% id %})">
ここで
{% id %}
サーバーから送られてきたidを表示する。
コントローラの作成時に値を渡す正しい方法は何ですか?
どのように解決するのですか?
注意事項
この回答は古いです。これは、望ましい結果を達成する方法についての概念的な証明にすぎません。しかし、以下のコメントにあるように、これは最良の解決策ではないかもしれません。私は、以下のアプローチをサポートまたは拒否するための文書を持っていません。このトピックに関するさらなる議論については、以下のいくつかのコメントを参照してください。
オリジナルの回答
に回答しました。
はい、できます。
ng-init
とシンプルなinit関数で構成されています。
以下は、その例です。 プランカー
HTML
<!DOCTYPE html>
<html ng-app="angularjs-starter">
<head lang="en">
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.3/angular.min.js"></script>
<script src="app.js"></script>
</head>
<body ng-controller="MainCtrl" ng-init="init('James Bond','007')">
<h1>I am {{name}} {{id}}</h1>
</body>
</html>
JavaScript
var app = angular.module('angularjs-starter', []);
app.controller('MainCtrl', function($scope) {
$scope.init = function(name, id)
{
//This function is sort of private constructor for controller
$scope.id = id;
$scope.name = name;
//Based on passed argument you can make a call to resource
//and initialize more objects
//$resource.getMeBond(007)
};
});
関連
-
[解決済み】document.getElementByIDは関数ではありません。
-
[解決済み] setTimeout()コールバックにパラメータを渡すにはどうすればよいですか?
-
[解決済み] AngularJSのコントローラからビューにHTMLを挿入する
-
[解決済み] プリフライト要求に対する応答がアクセス制御チェックを通過しない
-
[解決済み] あるAngularJSのコントローラが別のコントローラを呼び出すことはできますか?
-
[解決済み] AngularJSでコントローラを2回実行する場合の対処法
-
[解決済み] ui-routerでui-srefを使用してパラメータをコントローラに渡す方法
-
[解決済み】JavaScriptで文字列をBase64にエンコードするにはどうすればいいですか?
-
[解決済み】AngularJS:コントローラ間で変数を渡すにはどうすればよいですか?
-
[解決済み】JavaScriptのクロージャと無名関数の比較
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】このエラーの原因は何ですか - "Fatal error: ローカルgruntを見つけることができません"
-
[解決済み】webpack: モジュールが見つかりません。Error: 解決できない(相対パスで)
-
[解決済み】JavaScriptのinnerHTMLで要素が更新されない
-
[解決済み】Google Conversionsが動作しない - スクリプトが読み込まれない
-
[解決済み】React、Uncaught ReferenceError。ReactDOMは定義されていません
-
[解決済み】SyntaxError: JSON の位置 1 に予期しないトークン o があります。
-
[解決済み】 Uncaught Error: Invariant Violation: 解決済み】 Uncaught Error: Invariant Violation: Element type is invalid: expected a string (for built-in components) or a class/function but got: object.
-
[解決済み】Redux TypeError: 未定義のプロパティ 'apply' を読み取れない
-
[解決済み】SyntaxError: 期待された式が、'<'を得た。
-
[解決済み] [Solved] Uncaught Invariant Violation: 前のレンダリング中よりも多くのフックをレンダリングする