很难调试错误 - 第 2 列的令牌“{"无效键
[英] Having a hard time debugging error - Token '{' invalid key at column 2
本文介绍了很难调试错误 - 第 2 列的令牌“{"无效键的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我遇到了无法调试的错误.
form-field.html
<div class='row form-group' ng-form="{{field}}" ng-class="{ 'has-error': {{field}}.$dirty && {{field}}.$invalid }"><label class='col-sm-2 control-label'>{{ 字段 |labelCase }} <span ng-if='required'>*</span></label><div class='col-sm-6' ng-switch='required'><input ng-switch-when='true' ng-model='record[field][0]' type='{{record[field][1]}}' class='form-control' required ng-change='update()' ng-blur='blurUpdate()'/><div class='input-group' ng-switch-default><input ng-model='record[field][0]' type='{{record[field][1]}}' class='form-control' ng-change='update()' ng-blur='blurUpdate()'/><span class='input-group-btn'><button class='btn btn-default' ng-click='remove(field)'><span class='glyphicon glyphicon-remove-circle'></span></button></span>
<div class='col-sm-4 has-error' ng-show='{{field}}.$dirty &&{{field}}.$invalid' ng-messages='{{field}}.$error'><p class='control-label' ng-message='required'>{{ 字段 |labelCase }} 是必需的.</p><p class='control-label' ng-repeat='(k, v) in types' ng-message='{{k}}'>{{ 字段 |labelCase }} {{v[1]}}</p>
new.html
新联系人</h2>
我收到以下错误:
在浏览器中:
<块引用>
错误:[$parse:syntax]http://errors.angularjs.org/1.4.1/$parse/syntax?p0=%7B&p1=invalid%20key&p2=2&p3=%7B%7Bfield%7D%7D.%24error&p4=%7Bfield%7D%7D.%24error
在有角度的网站上:
<块引用>
错误:$parse:syntax 语法错误语法错误:令牌 '{' 无效键在表达式 [{{field}}.$error] 的第 2 列开始于[{field}}.$error].
有人知道为什么吗?谢谢!
解决方案
我注意到将数据绑定到自定义指令上的属性时也会发生此错误.哪里
$scope.myData.value = "你好!";
这会导致错误:
<my-custom-directive my-attr="{{myData.value}}"></my-custom-directive>
但这工作正常:
<my-custom-directive my-attr="myData.value"></my-custom-directive>
I have encountered an error which I'm unable to debug.
form-field.html
<div class='row form-group' ng-form="{{field}}" ng-class="{ 'has-error': {{field}}.$dirty && {{field}}.$invalid }">
<label class='col-sm-2 control-label'> {{ field | labelCase }} <span ng-if='required'>*</span></label>
<div class='col-sm-6' ng-switch='required'>
<input ng-switch-when='true' ng-model='record[field][0]' type='{{record[field][1]}}' class='form-control' required ng-change='update()' ng-blur='blurUpdate()' />
<div class='input-group' ng-switch-default>
<input ng-model='record[field][0]' type='{{record[field][1]}}' class='form-control' ng-change='update()' ng-blur='blurUpdate()' />
<span class='input-group-btn'>
<button class='btn btn-default' ng-click='remove(field)'><span class='glyphicon glyphicon-remove-circle'></span></button>
</span>
</div>
</div>
<div class='col-sm-4 has-error' ng-show='{{field}}.$dirty && {{field}}.$invalid' ng-messages='{{field}}.$error'>
<p class='control-label' ng-message='required'> {{ field | labelCase }} is required. </p>
<p class='control-label' ng-repeat='(k, v) in types' ng-message='{{k}}'> {{ field | labelCase }} {{v[1]}}</p>
</div>
</div>
new.html
<h2> New Contact </h2>
<form name='newContact' novalidate class='form-horizontal'>
<form-field record='contact' field='firstName' live='false' required='true'></form-field>
<div class='row form-group'>
<div class='col-sm-offset-2'>
<button class='btn btn-primary' ng-click='save()'> Create Contact </button>
</div>
</div>
</form>
I'm getting the following error:
In the browser:
Error: [$parse:syntax]
http://errors.angularjs.org/1.4.1/$parse/syntax?p0=%7B&p1=invalid%20key&p2=2&p3=%7B%7Bfield%7D%7D.%24error&p4=%7Bfield%7D%7D.%24error
On angular site:
Error: $parse:syntax Syntax Error Syntax Error: Token '{' invalid key
at column 2 of the expression [{{field}}.$error] starting at
[{field}}.$error].
Does someone know why? Thanks!
解决方案
I notice that this error also happens when binding data to an attribute on a custom directive. Where
$scope.myData.value = "Hello!";
This causes the error:
<my-custom-directive my-attr="{{myData.value}}"></my-custom-directive>
But this works fine:
<my-custom-directive my-attr="myData.value"></my-custom-directive>
这篇关于很难调试错误 - 第 2 列的令牌“{"无效键的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!