angularjs typeError:布尔值不是单击多个操作的函数
在尝试实现这一目标时:angularjs typeError:布尔值不是单击多个操作的函数,angularjs,angularjs-ng-click,Angularjs,Angularjs Ng Click,在尝试实现这一目标时: <li class="answer"><a href="javascript:void(0)" ng-class="answer.show[$index] ? 'selected' : ''" ng-click="(answer.Questions.length > 0) ? (answer.show[$index]=!answer.show[$index]) (setAnswer(question, answer.ID)) : setAnswer
<li class="answer"><a href="javascript:void(0)" ng-class="answer.show[$index] ? 'selected' : ''" ng-click="(answer.Questions.length > 0) ? (answer.show[$index]=!answer.show[$index]) (setAnswer(question, answer.ID)) : setAnswer(question, answer.ID)">{{answer.Description}}</a></li>
TypeError: boolean is not a function
at $parseFunctionCall (http://localhost/assets/scripts/vendor/bower_components/angular/angular.js:12333:15)
at $parseTernary (http://localhost//assets/scripts/vendor/bower_components/angular/angular.js:12185:39)
at ngEventDirectives.(anonymous function).compile.element.on.callback (http://localhost/assets/scripts/vendor/bower_components/angular/angular.js:22949:17)
at Scope.$get.Scope.$eval (http://localhost/assets/scripts/vendor/bower_components/angular/angular.js:14383:28)
at Scope.$get.Scope.$apply (http://localhost/assets/scripts/vendor/bower_components/angular/angular.js:14482:23)
at HTMLAnchorElement.<anonymous> (http://localhost/assets/scripts/vendor/bower_components/angular/angular.js:22954:23)
at HTMLAnchorElement.eventHandler (http://localhost/assets/scripts/vendor/bower_components/angular/angular.js:3011:21)angular.js:11594 (anonymous function)angular.js:8544 $getangular.js:14484 $get.Scope.$applyangular.js:22954 (anonymous function)angular.js:3011 eventHandler
The problem is on my ng-click:
(answer.Questions.length > 0) ? (answer.show[$index]=!answer.show[$index]) (setAnswer(question, answer.ID)) : setAnswer(question, answer.ID)
TypeError:布尔值不是函数
每小时$200(http://localhost/assets/scripts/vendor/bower_components/angular/angular.js:12333:15)
价格为$100(http://localhost//assets/scripts/vendor/bower_components/angular/angular.js:12185:39)
在ngEventDirectives.(匿名函数).compile.element.on.callback(http://localhost/assets/scripts/vendor/bower_components/angular/angular.js:22949:17)
范围为$get.Scope.$eval(http://localhost/assets/scripts/vendor/bower_components/angular/angular.js:14383:28)
范围为$get.Scope.$apply(http://localhost/assets/scripts/vendor/bower_components/angular/angular.js:14482:23)
在兰开夏。(http://localhost/assets/scripts/vendor/bower_components/angular/angular.js:22954:23)
在htmlanchorement.eventHandler(http://localhost/assets/scripts/vendor/bower_components/angular/angular.js:3011:21)angular.js:11594(匿名函数)angular.js:8544$getangular.js:14484$get.Scope.$applyangular.js:22954(匿名函数)angular.js:3011 eventHandler
问题出在我的ng click上:
(答案.问题.长度>0)?(answer.show[$index]=!answer.show[$index])(setAnswer(问题,答案.ID)):setAnswer(问题,答案.ID)
我该如何正确地写这篇文章呢?如果没有必要,我不会把这么多东西放在你的视野中。创建一个函数并传递所需的内容,然后从中进行评估 而且
ng-click="(answer.Questions.length > 0) ? (answer.show[$index]=!answer.show[$index]) (setAnswer(question, answer.ID)) : setAnswer(question, answer.ID)"
这看起来像是一个错误的三元操作,如果你想这么做的话
如果我理解正确:
如果answer.Questions.length>0,则为(setAnswer(question,answer.ID)),如果不是setAnswer(question,answer.ID)
这个零件是做什么用的
(answer.show[$index]=!answer.show[$index])
?
也许你想要像这样的东西
((answer.Questions.length > 0) && (answer.show[$index]=!answer.show[$index])) ? (setAnswer(question, answer.ID)) : setAnswer(question, answer.ID)
不要在视图中放太多逻辑,更不用说在表达式中了。在控制器中创建一个作用域公开函数并调用它
ng单击=“doAllThistuff($index)”