我想过滤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/
答案 0 :(得分:5)
您忘记初始化query
。
添加
$scope.query = '';
在您的控制器中。
编辑:以上陈述错误。遗憾。
除上述内容外,您的query
变量超出了范围。
(因此,只需在控制器范围内定义query
即可断开对象...)
这是清理/工作代码示例。 http://plnkr.co/edit/0aT33Q2H2SQTPG4E62Zb?p=preview