在我的控制器中,我有一个对象数组(我才刚刚开始,所以如果这太天真了,请原谅我):
$scope.links = [
{
'votes': 6,
'voted_on': false
},
{
'votes': 7,
'voted_on': false
}
];
我想在视图中列出这些内容,并在单击时修改某些属性,并保持一些复杂的状态以反映DOM中的更改:
<ul>
<li ng-repeat="link for links">
<a ng-click="updateProperties()">Vote</a>
{{link.votes}}
</li>
</ul>
您知道,我希望
updateProperties()
管理很多有状态的逻辑(更改{{link.votes}}
的颜色,递增link.votes
,如果已经投票则禁止递增等)。我知道我需要在$scope
上定义函数,但是我不确定那是什么样子,因此非常感谢您的帮助。谢谢。 最佳答案
一种方法是让updateProperties
具有一个参数,该参数是与投票相关的投票的唯一标识符。处理点击行为的逻辑将驻留在updateProperties
内,这将由您根据所需定义。该函数只是一个标准的javascript函数,可以在您的控制器内部定义,例如$scope.updateProperties = function(pollID){...}
,只要它所在的控制器在您从其开始调用的页面部分中处于活动状态,就可以使用该功能。
在主页上查看Angular Docs及其模型(我认为主页上的一个可能对您有用)。