2017-12-13 5 views
0

データベースからのデータでルートパラメータを入力してロードします。

例えば、私は

$routeProvider.when('/:param1/:param2', loadParams()) 

そしてloadParams機能が

function loadParams() { 
    var data = { 
     path: window.location.pathname 
    }; 
    $.ajax({ 
     type: 'POST', 
     url: 'getRouteParams', 
     data: data, 
     success: function(data, status) { 
      var attributes = {}; 
      attributes.controller = data.controller; 
      attributes.templateUrl = data.templateUrl; 
      return attributes; 
     } 
    }); 
} 

しかし、この機能は私にエラーを与えてい

あなたはrouteproviderでreloadsearchプロパティを使用
Cannot read property 'reloadOnSearch' of undefined 
+0

のうちのリターンを入れている自分

に答えますか? https://stackoverflow.com/questions/37756167/dynamic-routing-based-on-external-data – Brian

+0

角度1.6を使用しています – istaro

答えて

0

私は解決策は、このことができますかどうかを知るためにバージョンについての情報を必要とする非同期を無効にし、「成功」

function loadParams() { 
    var data = { 
     path: window.location.pathname 
    }; 
    var attributes = {}; 
    $.ajax({ 
     type: 'POST', 
     url: 'getRouteParams', 
     data: data, 
     async: false, 
     success: function(data, status) { 
      attributes.controller = data.controller; 
      attributes.templateUrl = data.templateUrl; 
     } 
    }); 
    return attributes; 
} 
0

、私はドンあなたのコードで見つけることができません。 [reloadOnSearch = true] - {ブール値} - $ location.search()または$ location.hash()だけが変更されたときにルートを再ロードします。

このオプションをfalseに設定し、ブラウザのurlを変更すると、$ rootUpdateイベントがルートスコープでブロードキャストされます。

+0

私のコードのどこかで "reloadOnSearch"を使用しません – istaro

+0

reloadOnSearchを使用してください: falseオプション –

+0

はまだ動作しません – istaro