0

フィルタリングされたタスクをビューに表示する必要があるとします。最初のステップでは、発行/購読を購入するすべてのタスクのリストを取得しました。

公開:

Meteor.publish("tasks", function(options){
    return Tasks.find(options);
});

申し込む:

var allTasks = $meteor.collection(Tasks).subscribe('tasks', {});

そして今、'active' 変数が true に設定されているタスクのみを $scope で見る必要があるとしましょう。

このようなもの:

$scope.active_tasks = getFilteredTasks(allTasks, {active: true}) 

getFilteredTasks(allTask​​s, {active: true}) を置き換えて、active==true 変数のみを持つタスクを取得するにはどうすればよいですか?

次のようなタスクをサブスクライブするときに「オプション」を設定できることを知っています。

{active: true}

しかし、それは問題の解決には役立ちません。目標は、一度だけサブスクライブし、後でフィルターを使用してタスクの一部のみを表示することです。

私はまだAngular-Meteorのチュートリアルを終えていないので、後で説明するかもしれません.正しいチュートリアルを教えていただければ、私の学習が大幅にスピードアップします.

前もって感謝します。

4

2 に答える 2

2

わかった。ソリューションはAngular側にあるようです。したがって、コントローラーではすべてのタスクを取得します。

$scope.active_tasks = $meteor.collection(Tasks);

ビュー側では、それらをフィルタリングします。

<input ng-model="freeText">
<tr ng-repeat="task in active_tasks | filter:freeText ">
    <td>{{ task }}</td>
</tr>

:)

于 2015-05-30T15:17:04.957 に答える