Angular.js过滤器在空输入上没有显示结果

时间:2013-06-06 06:14:28

标签: angularjs

我想过滤subreddit的结果。以下代码按预期工作,但在首次加载页面时不显示任何结果。当我打空间或写任何东西时,它会显示结果。通常,当输入为空时,angular会带来所有结果。我希望在首次加载页面时加载所有结果。 这是html:

<body ng-app>
Search: <input ng-model="query">
<ul ng-controller="Reddit">
    <li ng-repeat="title in reddit | filter:{data.title:query} ">
        <p>{{title.data.title}}</p>
    </li>
</ul>
</body>

脚本:

function Reddit($scope, $http) {
    $http.get('http://www.reddit.com/r/programming/.json').success(function(topic){
        $scope.reddit = topic.data.children;
    });
}

你也可以在jsfiddle上玩它:http://jsfiddle.net/liquidcat/sZCE4/

1 个答案:

答案 0 :(得分:5)

您忘记初始化query

添加

 $scope.query = '';

在您的控制器中。

编辑:以上陈述错误。遗憾。

除上述内容外,您的query变量超出了范围。 (因此,只需在控制器范围内定义query即可断开对象...)

这是清理/工作代码示例。 http://plnkr.co/edit/0aT33Q2H2SQTPG4E62Zb?p=preview