我有一个列表项,可以切换模态并使用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>
答案 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是在本地创建的,与主控制器中的不一样。此外,主控制器的功能可以通过指令调用,这就是前面的答案有效的原因。