Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
angularjs typeError:布尔值不是单击多个操作的函数_Angularjs_Angularjs Ng Click - Fatal编程技术网

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)”