gpt4 book ai didi

javascript - AngularJS 表达式在 ng-click 中抛出语法错误

转载 作者:行者123 更新时间:2023-11-30 12:44:28 25 4
gpt4 key购买 nike

好的,我正在开发网站的评论部分,用户可以在其中对原始帖子或任何后续帖子发表评论。为了在 angular.js 中完成此渲染,我对递归产生了一些兴趣。

<script type="text/ng-template"  id="renderer.html">
{{comment.userName+' - '+comment.commentText}}
<br/><button class="standardButton">respond</button>

<ul>
<li ng-repeat="comment in comment.childComments | orderBy:'commentId'" ng-include="'renderer.html'"></li>
</ul>
</script>

<ul>
<li data-ng-repeat="comment in comments" data-ng-include="'renderer.html'"></li>
</ul>

这本身就很完美。但是,我需要能够查看有关单击哪个按钮的数据。我将我的代码更新为:

<script type="text/ng-template"  id="renderer.html">
{{comment.userName+' - '+comment.commentText}}
<br/><button class="standardButton" ng-click='alertMe({{comment.userName}})'>respond</button>

<ul>
<li ng-repeat="comment in comment.childComments | orderBy:'commentId'" ng-include="'renderer.html'"></li>
</ul>

请注意添加了 ng-click。 alertMe 方法已在 Controller 中使用纯字符串成功测试。它仅在使用 Angular 表达式时中断。

每次加载评论时,我都会在控制台中收到以下错误:

> Error: [$parse:syntax]
> http://errors.angularjs.org/1.2.15/$parse/syntax?p0=comment.userName&p1=is%20unexpected%2C%20expecting%20%5B%3A%5D&p2=11&p3=alertMe(%7B%7Bcomment.userName%7D%7D)&p4=comment.userName%7D%7D)
> at Error (native)
> at http://localhost:8080/Vail/jslib/angular.min.js:6:450
> at Za.throwError (http://localhost:8080/Vail/jslib/angular.min.js:162:211)
> at Za.consume (http://localhost:8080/Vail/jslib/angular.min.js:163:183)
> at Za.object (http://localhost:8080/Vail/jslib/angular.min.js:170:340)
> at Za.primary (http://localhost:8080/Vail/jslib/angular.min.js:161:358)
> at Za.unary (http://localhost:8080/Vail/jslib/angular.min.js:168:73)
> at Za.multiplicative (http://localhost:8080/Vail/jslib/angular.min.js:167:310)
> at Za.additive (http://localhost:8080/Vail/jslib/angular.min.js:167:170)
> at Za.relational (http://localhost:8080/Vail/jslib/angular.min.js:167:34) <button
> class="standardButton" ng-click="alertMe({{comment.userName}})">

Angular 网站是这样说的:

Error: $parse:syntax Syntax Error Syntax Error: Token 'comment.userName' is at column {2} of the expression [{3}] starting at [{4}].

有人知道是什么导致了这个错误吗?非常感谢任何和所有信息。

最佳答案

ng-click 中不需要括号,因为它需要一个表达式,而不是一个模板。将违规行更改为:

<br/><button class="standardButton" ng-click='alertMe(comment.userName)'>respond</button>

关于javascript - AngularJS 表达式在 ng-click 中抛出语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23095966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com