$ urlMatcherFactoryProviderと一致する利用可能なルートの配列を取得するために、私のpublicApp.configの中で$ httpを呼び出そうとしています。
は今のところ、私は彼らがpageUrls = ['about','contact','another-page'];
ようにハードコーディングですが、私は可能なURLの配列を返します。私の急行APIでURLを持っています。 APIのURLは"/page-urls"
です。$http.get('/page-urls')
のリクエストはconfig内に作成できますか? $ httpはrun()
の中にありますが、$ stateProvider経由でルーティングする前に利用可能なURLのリストが必要です。
(function() {
'use strict'
var pageUrls = [];
var publicApp = angular.module('publicApp', ['ui.router'])
publicApp.config(['$stateProvider', '$urlRouterProvider', '$urlMatcherFactoryProvider', function($stateProvider, $urlRouterProvider, $urlMatcherFactoryProvider) {
pageUrls = ['about','contact','another-page'];
var urls = pageUrls.join('|');
var urlMatcher = $urlMatcherFactoryProvider.compile("/{source:(?:" + urls + ")}");
$stateProvider
.state('/', {
url: '/',
templateUrl: "views/home/home.view.html",
controller: "homeCtrl"
})
.state('urls', {
url: urlMatcher,
templateUrl: "views/pages/page.view.html",
controller: "pageCtrl"
});
$urlRouterProvider.otherwise('/');
}]);
})();
:このような
何かグローバル変数。 configを実行すると利用可能になります – charlietfl
設定後にルータの状態を定義できる代替[router-extras](https://christopherthielen.github.io/ui-router-extras/#/home)があります – charlietfl
私の角型アプリの前にURLの配列を持つjsファイルを追加するだけですか?それは安全な選択肢ですか? – OllyBarca