AngularJS 使用数据切换的 ng-click

AngularJS ng-click with data-toggle

我有一个列表项可以切换模式并使用 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>

在控制器中使用一个函数,它可能看起来像这样:

在视图中:

<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;
}

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

"Course.SelectedCourse = Course.ID" 

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