在click eventhandler上设置从模型到视图的值

时间:2013-12-29 14:43:41

标签: angularjs

我是一名新的angularJS开发人员。试着学习基础知识。我正在阅读一本书中的一些例子,但是在使这段代码工作时遇到了问题。

在我的控制器中:

   $scope.myGroups = [
     {Name:'MiaFamilia',Members:'13',newMessages:'1'},
     {Name:'Party newyears 13',Members:'23',newMessages:'12'},
     {Name:'My work group',Members:'3',newMessages:'5'}
   ];

   $scope.setGroup = function(row) {        
     window.alert(row);
     $scope.theValue = row; 
   }

我的部分观点:

<div class="list-group">
  <a ng-repeat="group in myGroups | filter:query" ng-click="setGroup($index)" 
  ng-class='{active: $index==theValue}' href="#" class="list-group-item">{{group.Name}} <span class="badge">{{group.newMessages}}</span>
  </a>
</div>
  {{theValue}}

正在按预期呈现数据。 window.alert()函数正在使用索引,但{{theValue}}未设置。

我还使用angularJS工具查看了模型,但theValue的值为null

2 个答案:

答案 0 :(得分:0)

我想出来了。如果我删除了href =“#”,那么它就可以了。

答案 1 :(得分:0)

尝试使用其他元素(li或p或span)代替link(a)标记。它在alert上显示正确的值,因为它能够执行该脚本,但之后,它会调用另一个重新加载该页面的get请求。

或者,如果您确实需要a标记,则可以尝试“阻止”默认行为。见How to preventDefault on anchor tags?