首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >angularjs:使用选定的控件进行过滤

angularjs:使用选定的控件进行过滤
EN

Stack Overflow用户
提问于 2014-07-23 19:59:32
回答 1查看 418关注 0票数 0

Not Working jsfiddle

你知道为什么过滤不起作用吗?我期望看到忍者猫在控制器中被选中,类似于Working Fiddle

代码语言:javascript
复制
var app = angular.module( 'catapp', [ 'localytics.directives' ] );

app.directive('petConverter', function() {
    return{
        restrict:'A',
        require: 'ngModel',
        link: function(scope, element, attr, ngModel) {

            ngModel.$formatters.push(function(valueFromModel){
                    var target1 = [];
                    for (var i = 0; i < valueFromModel.length; i++) {
                        target1.push(valueFromModel[i].type);
                    }
                    return target1;
            });
        }
    }
});

app.controller( 'CatController', function ( $scope ) {


    $scope.lol = { cats: [
        'longcat',
        'ninjacat',
        'monorail cat'
    ]};

    $scope.myModel = [{type:'ninjacat'}];

});
EN

回答 1

Stack Overflow用户

发布于 2014-07-23 20:10:11

指令中的拼写错误很少,我在小提琴中解决了它们,下面是updated fiddle

更新指令代码:

代码语言:javascript
复制
.directive('petConverter', function() {
    return{
        restrict:'A',
        require: 'ngModel',
        link: function(scope, element, attr, ngModel) {

            ngModel.$formatters.push(function(valueFromModel){
                    //add this line
                    ngModel.$setViewValue(valueFromModel[0]);
                    var target1 = [];
                    for (var i = 0; i < valueFromModel.length; i++) {
                        target1.push(valueFromModel[i].type);
                    }
                    return target1;
            });
        }
    }
})

UPDATED FIDDLE

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24909938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档