我是棱角分明的新人,正在努力学习。我在控制器中有以下数组。这代表两名球员(来自两支球队)的交易 我认为我的逻辑很明显,为什么我的代码不起作用?
$scope.unique = [["Name", "Name", "Name", "Name", {"upvotes": 0}]]
//more can be added to the outer array, in sets of five like this.
在同一个控制器中,我有以下功能:
$scope.incrementUpvotes = function(value) {
value[4].upvotes++;
};
在我的Angular视图中,我尝试进行ng-repeat,单击此区域时,ng-click会增加upvote。 upvote正在工作,但它仅针对前五个元素进行渲染,ng-repeat似乎不起作用。
<div class="text-center" ng-repeat="value in unique">
<span ng-click="incrementUpvotes(value)">
{{value[0]}} and {{value[1]}} for {{value[2]}} and {{value[3]}} upvotes: {{value[4].upvotes}}
</span>
</div>
答案 0 :(得分:2)
虽然您的逻辑是正确的,但错误来自于您的阵列是多维的。要解决这个问题,请看Anik的答案。
但是,让我建议一个更好的结构,使您的代码更易读,可维护并更符合JavaScript惯例
char[]
所以现在你的upvote函数更具可读性:
String pswd = new String(pf.getPassword());
if(pswd.equals(password)) {
nw.setVisible(true);
}
现在你的HTML更清洁了:
$scope.teams = [
{
members: ["Name1", "Name2", "Name3", "Name4"],
upvotes: 0
},
{
members: ["Name5", "Name6", "Name7", "Name8"],
upvotes: 0
}
];
答案 1 :(得分:0)
我认为你的结构有点令人困惑。尝试这样的事情:
JS
<copy todir="${srcdist.layout.dir}/etc/wsdl/latest" flatten="true" overwrite="true">
<sort>
<fileset dir="../../releases">
<include name="**/*.wsdl"/>
</fileset>
</sort>
</copy>
HTML
$scope.unique = [{team: ["Name", "Name", "Name", "Name"], "upvotes": 0},
{team: ["Name", "Name", "Name", "Name"], "upvotes": 0}]
$scope.incrementUpvotes = function(value) {
value.upvotes++;
};
看到它在这里工作(点击行增加投票):http://www.bootply.com/7LOE1zpE4z