javascript - AngularJS: array[ {{value}} ] 导致我想忽略的解析错误

标签 javascript angularjs parsing angular-ngmodel angularjs-ng-init

我有一个从 Controller 获得的选择列表,写法如下:

<select class="input form-control"
    id="animationTime"
    ng-options="item as item.label for item in aniCon.timeOptions track by item.id"
    ng-model="aniCon.popupTime"
    ng-init="aniCon.popupTime = aniCon.timeOptions[{{aniCon.popupTime.id}}]">
</select>

这会导致此处出现解析错误:aniCon.timeOptions[{...,预期值不是 {{..

问题是,当页面加载时,这个值{{aniCon.popupTime.id}}被视为3,然后html是正确的:aniCon.popupTime = aniCon.timeOptions [3]

所以我想以某种方式忽略这个解析错误。

最佳答案

去掉括号。对于 Angular 指令,不需要使用表达式

ng-init="aniCon.popupTime = aniCon.timeOptions[aniCon.popupTime.id]">

正如@Patrick在评论中所说,您应该将初始化代码移至 Controller 。

$scope.aniCon = {};
// Get the object values here
$scope.aniCon.popupTime = $scope.aniCon.timeOptions[$scope.aniCon.popupTime.id];

关于javascript - AngularJS: array[ {{value}} ] 导致我想忽略的解析错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33611771/

相关文章:

java - 使用 ANTLR4 从 DSL 转换为 Java,需要重建(而不是评估)表达式的策略

java - 如何通过从文件读取的数据将对象添加到数组列表中?

javascript - 如何让径向渐变从饼图的中心开始?

javascript - 如何使用 id 在类中追加新元素

javascript - ajax 请求完成后 Jquery 延迟对象解析

javascript - 具有嵌套属性的 ng-class

bash - 读取时保留前导空格>>在bash中逐行写入文件

javascript - 使用数组reduce来减少对象数组的两个属性

angularjs - ng-grid 中的外部过滤器

javascript - AngularJS:指令重复,作为属性而不是元素