【发布时间】:2015-08-01 10:32:32
【问题描述】:
我的 HTML 中有一个这样的选择(moreCourses 是我的控制器的名称):
<select class="form-control" ng-options="course.courseId as course.courseName for course in moreCourses.coursesToshow track by course.courseId | filter: {show: true}" ng-model="course.newcourse" data-ng-change="moreCourses.showCourse(course)">
<option style="display:none" value="">Choose a course</option>
</select>
这是包含用于选择的对象的数组:
var coursesToshow =
[{
courseName: 'English for Work',
courseId: 'en-efw',
show: true
},
{
courseName: 'Practice Courses',
courseId: 'en-practice',
show: true
},
{
courseName: 'English for Doctors',
courseId: 'en-efd',
show: true
}];
一切正常,但过滤器不起作用,当用户选择一个选项时,属性“show”的值更改为“false”,我已经检查过了。
谢谢。
【问题讨论】:
-
您需要先应用过滤器,然后添加 trackBy 表达式。
course.courseId as course.courseName for course in moreCourses.coursesToshow | filter: {show: true} track by course.courseId。见:docs.angularjs.org/api/ng/directive/ngOptions -
能否包含
newCourse模型和showCourse方法 -
@Numyx 太好了,正在工作!谢谢
标签: javascript angularjs filter ng-options