我有一个从控制器获得的选择列表,内容如下:

<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在评论中所说,您应该将初始化代码移至控制器。

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

08-05 11:10