そのため、ng-repeat リストにカスタム フィルターを設定しました。これは、同じページで別のボタンを使用して動的に変更できます。
私の質問は、このフィルターをページ外の値で変更するにはどうすればよいかということです。
明確にするために、「list.view.html」に ng-repeat リストがあり、フィルター値を含むホームページのボタンを押して、「list.view.html」をロードできるようにしたいと考えています。私のホームページのボタンのパラメータを含むフィルタリングされた結果。
さらに繰り返すには、
list.view.html の ng-repeat の上に、次のようなボタンを含めます。
<button class="sortBy" ng-click="myFilter = { statusOpen : true }">Open</button>
statusOpen ブール値が true と評価される項目のみを含めるように ng-repeat を更新します。
これが私のng-repeatのフィルターです
<li class="list-group-item animate-repeat" data-ng-repeat="task in vm.tasks | filter:search | filter:myFilter>
フィルタリングされた結果を含む list.view.html ページにルーティングするホームページのボタンをクリックして、同じ結果を得るにはどうすればよいですか?
list.view.html のコントローラーで param フィルターを設定しようとしましたが、機能しませんでした。
たとえば<a ui-sref="tasks.list({ myFilter = { onlineTask : 'true' } })">
、私のホームページと::私のclient.routes.js
params: {
myFilter: null
}
コンソール エラー メッセージ
angular.js:11706 エラー: [$parse:syntax] 構文エラー: トークン '=' は予期されていません。式 [{ myFilter = { onlineTask : 'true' } }] の列 12 で [:] を [= で開始する必要があります。 { onlineTask : 'true' } }]. http://errors.angularjs.org/1.3.20/ $parse/syntax?p0=%3D&p1=is%20unexpected%2C%20expecting%20%5B%3A%5D&p2=12&p3=%7B%20myFilter%20%3D %20%7B"
これをどのように進めるかについての一般的な方向性を探しています。
よろしくお願いします