Getting Error: [$parse:syntax] while using ng-class
Getting Error: [$parse:syntax] while using ng-class
我正在编写自定义表单验证,使用 ng-class 来突出必填字段,语法是:
<div class="form-group"
ng-class="{'has-error': dc.{{fname}}.nedatt({{fname}}.username)}">
<input class="form-control" name="username" type="text" placeholder="Username"
ng-required="true" ng-model="f1username"/>
<span class="help-block" ng-show="{{fname}}.username.$error.required">Required</span>
</div>
对于 ng 类,我得到:
Error: [$parse:syntax]
http://errors.angularjs.org/1.3.3/$parse/syntax?p0=.&p1=not%20a%20primary%20expression&p2=1&p3=.username.%24error.required&p4=.username.%24error.required
为了帮助块我得到:
SyntaxError: Unexpected token ;
实际上 fname
是要替换的表单名称,所以我在 {{}}
中使用。请帮忙,我卡住了。
你不能像那样在 ng-class 中绑定 angular 表达式。您应该改用 javascript 表示法。这意味着:
<div class="form-group"
ng-class="{'has-error': dc[fname].nedatt(getFormObject(fname).name)">
</div>
看起来您正在尝试动态化您用来检查名称的对象 属性。不幸的是你不能这样做,对象 "must" 是固定的,而不是字符串。出于这个原因,我建议在您的控制器或指令中调用一个 returns 正确对象的函数,然后用它做任何您需要的事情。
对于 ng-show 我会实现类似的东西。请记住,它不会被字符串解析,而是直接评估(并且在 javascript {{foo}} 中是不正确的语法)
我正在编写自定义表单验证,使用 ng-class 来突出必填字段,语法是:
<div class="form-group"
ng-class="{'has-error': dc.{{fname}}.nedatt({{fname}}.username)}">
<input class="form-control" name="username" type="text" placeholder="Username"
ng-required="true" ng-model="f1username"/>
<span class="help-block" ng-show="{{fname}}.username.$error.required">Required</span>
</div>
对于 ng 类,我得到:
Error: [$parse:syntax]
http://errors.angularjs.org/1.3.3/$parse/syntax?p0=.&p1=not%20a%20primary%20expression&p2=1&p3=.username.%24error.required&p4=.username.%24error.required
为了帮助块我得到:
SyntaxError: Unexpected token ;
实际上 fname
是要替换的表单名称,所以我在 {{}}
中使用。请帮忙,我卡住了。
你不能像那样在 ng-class 中绑定 angular 表达式。您应该改用 javascript 表示法。这意味着:
<div class="form-group"
ng-class="{'has-error': dc[fname].nedatt(getFormObject(fname).name)">
</div>
看起来您正在尝试动态化您用来检查名称的对象 属性。不幸的是你不能这样做,对象 "must" 是固定的,而不是字符串。出于这个原因,我建议在您的控制器或指令中调用一个 returns 正确对象的函数,然后用它做任何您需要的事情。
对于 ng-show 我会实现类似的东西。请记住,它不会被字符串解析,而是直接评估(并且在 javascript {{foo}} 中是不正确的语法)