我在AngularJS中创建了这个片段,在我的网页上显示了一个分页栏。对象$ scope.PagesOnBar包含一个数字数组,如1,2,3,它们出现在分页栏上。问题出在我的ng-click属性中;值{{x}}作为文字传递 - x不替换为1,2,3。如何重写这个以便将数值传递给BarClick函数?我尝试在ng-click之前输入ng-repeat,但这也没有用。我也尝试删除花括号 - 结果相同。
<ul class="PaginationBar">
<li class="FloatLeft" ng-click="BarClick('<<');"><<</li>
<li class="FloatLeft" ng-click="BarClick('<');"><</li>
<li class="FloatLeft" ng-click="BarClick('{{x}}');" ng-repeat="x in PagesOnBar">{{x}}</li>
<li class="FloatLeft" ng-click="BarClick('>');">></li>
<li class="FloatLeft" ng-click="BarClick('>>');">>></li>
</ul>
答案 0 :(得分:2)
<ul class="PaginationBar">
<li class="FloatLeft" ng-click="BarClick('<<');"><<</li>
<li class="FloatLeft" ng-click="BarClick('<');"><</li>
<li class="FloatLeft" ng-repeat="x in PagesOnBar" ng-click="BarClick(x)">{{x}}</li>
<li class="FloatLeft" ng-click="BarClick('>');">></li>
<li class="FloatLeft" ng-click="BarClick('>>');">>></li>
</ul>
大多数ng
指令不需要花括号({{ }}
)来理解你指的是某种表达式或变量。
此外,这可能只是我的偏好,但在尝试引用迭代变量之前,我倾向于声明ng-repeat
循环。可能Angular仍然会理解它,但至少在阅读时,首先声明它更有意义。
答案 1 :(得分:0)
如果你不想要文字,请不要在'
中包含x ...只需写x