AngularJS ng-click with data-toggle

时间:2015-12-26 23:37:02

标签: javascript angularjs twitter-bootstrap-3 bootstrap-modal

我有一个列表项,可以切换模态并使用ng-click设置参数 问题是在任何其他记录Course.SelectedCourse的地方调用某个函数时,虽然Course.ID有值,但它未定义。

<li class="facebook" style="width:33%;">
   <a ng-click="Course.SelectedCourse = Course.ID" data-toggle="modal" data-target="#myModal">
      <span class="glyphicon glyphicon-user"></span>
   </a>
</li>

2 个答案:

答案 0 :(得分:4)

使用控制器中的函数,可能如下所示:

在视图中:

<li class="facebook" style="width:33%;" >
  <a ng-click="setSelectedCourse(Course.ID)" data-toggle="modal" data-target="#myModal">
    <span class="glyphicon glyphicon-user"></span>
  </a>
</li>

在控制器中

function setSelectedCourse(course_id){
  $scope.Course.SelectedCourse = course_id;
}

答案 1 :(得分:1)

在AngularJS中,指令有自己的范围,你的列表是用ng-repeat生成的,不是吗?这就是为什么

"Course.SelectedCourse = Course.ID" 

不起作用,因为在div ng-repeat内循环$ scope.Course是在本地创建的,与主控制器中的不一样。此外,主控制器的功能可以通过指令调用,这就是前面的答案有效的原因。