2

シナリオ:

ng-classディレクティブがある要素でディレクティブを使用していましたng-repeatng-classいくつかの条件が満たされた場合、要素にクラスを追加するために要素をオンにしました。私が遭遇した問題は私の状態にありました。それらはRubyonRailsで生成したJSONからのものであるため、ブール値を返すJSONのキーは疑問符で終わりました。引用符で囲まれている場合、疑問符はJSONキーで完全に有効ですが、ドット表記を使用してAngularJS式で疑問符にアクセスしようとすると、Chromeのコンソールにエラーが表示されます。

失敗したコード:

<tr ng-repeat="foo in bars" ng-class="{'boo': foo.bar.baz? || !foo.bar.yes? }">

エラー:

Error: Lexer Error: Unexpected next character  at columns 39-39 [?] in expression
4

1 に答える 1

2

したがって、解決策は、キー名を引用符で囲んで、角かっこでJSONキーと値のペアにアクセスすることでした。

作業コード:

<tr ng-repeat="foo in bars" ng-class="{'boo': foo.bah['baz?'] || !foo.bar['yes?'] }">

AngularJS 1.0.5、Ruby 1.8.7、Rails2.3.17を使用しているときにこのソリューションを発見しました

http://www.json.org/

ここでも良い議論:

JSONキーに引用符で囲まれた文字列を使用する実際的な理由はありますか?

于 2013-03-12T00:07:01.597 に答える