2

私のコントローラーでは、スコープの状態の初期化を担当する関数を作成しました。ng-init次に、次のように呼び出されます。 ... ng-init="init(value)"wherevalueはグローバル スコープの変数です。問題は - うまくいかないことです。angularは変数を渡すことを許可しませんか? ng-initコンテキストなしでのみ評価されるものはありますか?文字列を準備する必要がありますか?

4

3 に答える 3

0

わかりました、私自身の質問への回答を投稿してください。

簡単な答え: ありません。

ng-initすでにスコープにある変数のみを受け入れます。または、インラインで作成することもできます。私は実際にしばらくの間それを行っていました(文字列化されたjson変数を渡します)が、一部のデータではうまく機能しませんでした(次のjsonを検討してくださいng-init='"{\"a\": \"It's a duck!\"}'":)

適切な解決策は、グローバル変数を使用して渡すサービスを作成することです。それがはるかに優れているかどうかはわかりませんが、コントローラーでグローバルを使用するよりも優れていると思います。

于 2013-09-20T08:29:03.447 に答える
0

で置き換えvalueてみる"hello"とうまくいきます。おそらく、値が定義されていないことに関係している可能性があります。そうでinit('{{value}}')ない場合は、定義されていない理由を見つける必要がありますvalue

于 2013-09-14T00:04:07.530 に答える