AngularJS Controller的过滤器看不到ng-model

时间:2015-08-10 17:30:04

标签: javascript angularjs

代码终于有效了。我不知道为什么。

我使用自定义过滤器来进行文件重复。 我将代码置于Controller

...

.controller('makeOrderController', function ($scope, $timeout, $ionicLoading) {
    $scope.searchMenuFilter = function () {
        return function (data) {
            if (data != undefined) {
                var result = JSLINQ(data)
                    .Where(function (item) { return item.name.match(/\b(\w)/g).join('') == $scope.searchKeyword });
                console.log($scope)
                console.log($scope.searchKeyword)
                return result.items;
            }
            else {
                return null;
            }
        }
    }
});

这是HTML

 <ion-list>
     <ion-item ng-repeat="item in menuData | filter:searchMenuFilter()" class="item item-button-right" item="item" can-swipe="true">  </ion-item> 
</ion-list>
        <input type="search" placeholder="Tìm kiếm" ng-change="searchMenu()" ng-model="searchKeyword">

控制台告诉我它没有看到showKeyword模型?它是什么 ?它仍然在内部控制器中看到另一个定义的模型,但不是ng-model。

1 个答案:

答案 0 :(得分:0)

除非您有一些定义searchKeyboard的指令,否则您收到的错误是正确的。请参阅下面的代码。

 // but you'll also want to avoid magic numbers such as 100 & 200 as well
 g.drawOval(100, 100, W * windowSize - 200, H * windowSize - 200);