2

我想过滤来自 subreddit 的结果。以下代码按预期工作,但在首次加载页面时未显示任何结果。当我点击空格或写任何东西时,它会带来结果。通常,当输入为空时,角度会带来所有结果。我希望在第一次加载页面时加载所有结果。这是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/

4

1 回答 1

5

你忘了初始化query

添加

 $scope.query = '';

在您的控制器中。

编辑:上面的说法是错误的。对不起。

除了上述之外,您的query变量超出了范围。(所以只是query在控制器的范围内定义会断开对象......)

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

于 2013-06-06T07:28:37.963 回答