【问题标题】:Syntax Error: Token 'for' is an unexpected token语法错误:令牌“for”是一个意外的令牌
【发布时间】:2017-12-15 07:25:12
【问题描述】:

我对 AngularJS 有点陌生,我正在阅读文档以使用 ng-options 指令构建选择输入

https://docs.angularjs.org/api/ng/directive/ngOptions

我的代码:

$scope.searchFilterDispatcher.distributionCode = [{
      id: 1,
      label: 'dist1'
    }, {
      id: 2,
      label: 'dist2'
    }];
<select ng-model="searchFilterDispatcher.distributionCode"
    ng-options="item as item.label for item in searchFilterDispatcher.distributionCode| translate | uppercase for item in distributionCode"
    class="form-control" id="distributionCode">
    <option value="">{{'SELECT_A_VALUE' | translate}}</option>
</select>

但是当我启动应用程序时,会出现以下错误:

"angular.js:12783 错误:[$parse:syntax] 语法错误:令牌 'for' 是 一个意外的令牌“

我哪里错了?

【问题讨论】:

  • 为什么你的ng-options 里有translate 过滤器,你的ng-options 里一团糟
  • 您应该像item.label | translate 一样在item.label 上应用翻译并将其从searchFilterDispatcher.distributionCode 中删除
  • ng-options 中有两个 for 循环。摆脱第二个。

标签: javascript angularjs select ng-options


【解决方案1】:

可能的解决方案 1. 不要将翻译过滤器与 ng-options 混合使用。尝试单独使用它 2.大写过滤器不应该在直接ng-option上

试试这个

ng-options="item as (item.label | upper) for item in searchFilterDispatcher.distributionCode"

谢谢

【讨论】:

  • 你的答案是正确的,但是现在当我选择其中一个选项时,它没有显示在选择面板中,我无法再选择其他选项,这是一个错误吗我的脚本?
猜你喜欢
  • 2019-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-31
  • 1970-01-01
  • 2019-10-28
  • 2019-01-17
  • 1970-01-01
相关资源
最近更新 更多