通过ng-click功能更新ng-model值将导致控制台错误

时间:2017-12-01 09:52:00

标签: javascript angularjs

当我进入页面时,我正在使用angularjs 1.6并且浏览器控制台一直给出错误:[$ parse:syntax]

和一些这样的消息。

<span class="switch" ng-click="disableValue() undefined ? optionValue: optionValue=!optionValue" ng-class="{ checked:optionValue, disabled:undefined }" style="margin-top:0px;" ng-model="optionValue">

当我进入页面时,默认值为true,我可以通过单击切换按钮将其设置为关闭。

功能很好。但是这个错误总是在控制台中提示,我不知道为什么。

在html中

&#13;
&#13;
angular.module('app').controller({
  $scope.optionValue = true;
  
  $scope.disableValue = function()
  {
    $scope.optionValue = !$scope.optionValue;
  }

})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<switch style="margin-top:0px;" ng-model="optionValue" ng-click="disableValue()"></switch>
&#13;
&#13;
&#13;

有人可以暗示一下吗?我猜想ng-model和ng-click中的问题。

1 个答案:

答案 0 :(得分:2)

您只需在ng-click

中直接修改变量即可

<强> 实施例

尝试点击Hello, World!声明。

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
    $scope.colorVal= true;
});
.red {
  color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>


<div ng-app="myApp">
  <span ng-class="{red: colorVal}" ng-click="colorVal = !colorVal">
  Hello, World! </span>
</div>

<强> 记住: ng-modelinputselect&amp;同时使用textarea