2

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/

4

1 に答える 1

5

を初期化するのを忘れましたquery

追加

 $scope.query = '';

あなたのコントローラーで。

編集:上記のステートメントは間違っています。ごめん。

上記に加えて、query変数は範囲外です。(したがって、コントローラーのスコープで定義するだけqueryで、オブジェクトが切断されます...)

これは、クリーンアップされた/動作するコード例です。 http://plnkr.co/edit/0aT33Q2H2SQTPG4E62Zb?p=preview

于 2013-06-06T07:28:37.963 に答える