0

私の AngularJS アプリには、検索入力と検索タイプの複数選択選択のあるランディング ページがあります。訪問者が検索を入力して [GO] をクリックすると、アプリは結果ビューにルーティングされます。

検索タイプのドロップダウンで選択した内容に基づいて、ビューが少し異なります。彼らは、人、場所、または会社を検索することを選択した可能性があります。

ビューで検索タイプに基づいた違いを処理するにはどうすればよいですか。ビューは、結果の ng-repeat です。検索タイプが場所の場合は住所。人の場合は、タイトルが名前になります。

私のビューはディレクティブになる必要があると思いますが、このタイプの例は見たことがありません。

4

1 に答える 1

2

以下は、リスト内の選択に基づいてさまざまなルートを実行する方法を示すplnkroptionsです。このアプローチでは、検索カテゴリごとに異なるコントローラー、スコープ、およびテンプレートを定義できます。

更新 これは、コントローラーに挿入してカテゴリ固有の検索を提供できるサービスの使用を示すjsfiddleです

var myApp = angular.module("myApp", []);

myApp.factory("searchService", function() {
    return {
        doSearch: function(query, category) {
         return "searching for '" + query + "' in category '" + category + "'";   
        }
    };
});

function demo($scope, searchService) {
    $scope.search = function() {
        $scope.results = searchService.doSearch($scope.query, $scope.searchCategory);
    }
};
于 2013-06-05T15:59:06.067 に答える