繁体   English   中英

带有过滤器的ng-options不起作用

[英]ng-options with filter not working

我在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”,我已经检查了这一点。

谢谢。

感谢@Numyx,解决方案是select的顺序,应该在after filter之后track by

<select class="form-control" ng-options="course.courseId as course.courseName for course in moreCourses.coursesToshow | filter: {show: true} track by course.courseId" ng-model="course.newcourse" data-ng-change="moreCourses.showCourse(course)">
    <option style="display:none" value="">Choose a course</option>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM