angularjs 将“*”分配给范围内声明的变量的Angular 误差

jq6vz3qz  于 2023-01-20  发布在  Angular
关注(0)|答案(1)|浏览(118)

我在作用域中声明了var:

$scope.submit = {
  next:"",
  formparams:"",
  value:""
};

在我的HTML中,我有:

<div>
  <div ng-repeat="opcion in menu.opciones">
    <label> Opcion: </label>
    <input id="{{opcion.opcion}}" type="radio" name=grupo
          value="{{opcion.Submit}}+{{opcion.opcion}}" ng-model="submit.next"
          ng-change="submit.value={{opcion.opcion}}" ng-required="true"required> {{opcion.opcion}}                          
    </input>
  </div>
</div>

选项数组包含类似{1,2,3,*}的内容。
当我选择时,每个数字选项都工作正常,但当我在浏览器的控制台中选择“*”时,出现以下错误:

angular.js:9419 TypeError: a is not a function
at OPERATORS.* (http://192.168.0.3:8080/MobilTest/lib/angular.js:9515:44)
at http://192.168.0.3:8080/MobilTest/lib/angular.js:10041:35
at Scope.$eval (http://192.168.0.3:8080/MobilTest/lib/angular.js:11961:28)
at http://192.168.0.3:8080/MobilTest/lib/angular.js:16943:13
at http://192.168.0.3:8080/MobilTest/lib/angular.js:16784:11
at Array.forEach (native)
at forEach (http://192.168.0.3:8080/MobilTest/lib/angular.js:303:11)
at $setViewValue (http://192.168.0.3:8080/MobilTest/lib/angular.js:16782:7)
at http://192.168.0.3:8080/MobilTest/lib/angular.js:16284:14
at Scope.$eval (http://192.168.0.3:8080/MobilTest/lib/angular.js:11961:28)(anonymous function) @ angular.js:9419(anonymous function) @ angular.js:6843(anonymous function) @ angular.js:16786forEach @ angular.js:303$setViewValue @ angular.js:16782(anonymous function) @ angular.js:16284Scope.$eval @ angular.js:11961Scope.$apply @ angular.js:12061(anonymous function) @ angular.js:16283(anonymous function) @ angular.js:2613forEach @ angular.js:310eventHandler @ angular.js:2612

并且var是空的。

67up9zun

67up9zun1#

{1,2,3,*}中,*在表达式{{opcion.Submit}}+{{opcion.opcion}}中与+组合时被计算为运算符。只需将其更改为{1,2,3,'*'}这样的字符,它就可以工作。

相关问题