语法危险:令牌'}'是意外的,期待表达式[yourSelectRadio = {item.Polarisation}]第35列的[:]

时间:2014-10-08 14:19:40

标签: angularjs angularjs-ng-init

error : Error: [$parse:syntax] Syntax danger: Token '}' is unexpected, expecting [:] at column 35 of the expression [yourSelectRadio={item.Polarisation}] starting at [}].
http://errors.angularjs.org/1.2.21/$parse/syntax?p0=%7D&p1=is%20unexpected%2C%20expecting%20%5B%3A%5D&p2=35&p3=yourSelectRadio%3D%7Bitem.Polarisation%7D&p4=%7D

我的代码:

<div class="btn-group" ng-init="yourSelectRadio={item.Polarisation}"> 
<label class="btn btn-success ng-pristine ng-valid" ng-model="yourSelectRadio" btn-radio="'Vertical'">Vertical</label> 
<label class="btn btn-success ng-pristine ng-valid" ng-model="yourSelectRadio" btn-radio="'Horizontal'">Horizontal</label>
</div>

为什么会出现此错误?

2 个答案:

答案 0 :(得分:2)

{}是一个对象,你需要一个项目的键

{ 'key' : item.Polarisation } ? 

yourSelectRadio=item.Polarisation // if it is an object 

修改

ng-init函数需要一个对象。 JSON定义为 { "key" : "value" }不是{ [OBJECT] }

假设item.Polarisation ~= { "thing" : "one", "otherthing" : 2 }

有两种方法可以解决错误。

直接分配

<div class="btn-group" ng-init="yourSelectRadio=item.Polarisation">  

- 或 -

封装

<div class="btn-group" ng-init="yourSelectRadio={'radioItem': item.Polarisation}"> 

答案 1 :(得分:0)

使用angular.toJson(Object):

<div class="btn-group" ng-init="yourSelectRadio=angular.toJson(item.Polarisation)"> 
        <label class="btn btn-success ng-pristine ng-valid" ng-model="yourSelectRadio" btn-radio="'Vertical'">Vertical</label> 
        <label class="btn btn-success ng-pristine ng-valid" ng-model="yourSelectRadio" btn-radio="'Horizontal'">Horizontal</label>
</div>