したがって、angularjs $routeProvider を使用したワークフローは次のようになります。
$routeProvider
.when('/main1', {
templateUrl: 'view1.html',
})
.when('/main2', {
templateUrl: 'view2.html',
})
私の質問は、次のコードを単純化する方法はありますか? when('/main1') と when('/main2') が同じテンプレートを指している場合。そう、
$routeProvider
.when('/main1', {
templateUrl: 'view1.html',
})
.when('/main2', {
templateUrl: 'view1.html',
})
この質問は、サイトに複数の言語があり、URL の複数の翻訳が必要な場合に尋ねられます。
別の解決策は、サイトがたとえば .com または .de を使用しているかどうかを認識し、正しい /main1 または /main2 の翻訳に調整することです。たとえば、
var url = window.location.href;
var main;
if (url.match(/.de/) !== null){
main = "/main1";
}else{
main = "/main2";
}
$routeProvider
.when(main, {
templateUrl: 'view1.html',
})
しかし、意味的には、構成オプションを設定後に実行ブロックに設定したままにするのが好きなので、これは最善の解決策ではないようです。また、config にファクトリを注入することもできません (プロバイダーのみ、間違っているかもしれません)。