{lang:(?:da|en)}在Javascript中做什么?
我试图理解这种状态在ui路由器中的含义:{lang:(?:da|en)}在Javascript中做什么?,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,我试图理解这种状态在ui路由器中的含义: $stateProvider.state('app', { abstract: true, url: '/{lang:(?:da|en)}', template: '<ui-view/>' }); $stateProvider.state('app.home', { url: '', templateUrl: 'views/home-page.html', }); 具体来说,{lang:?:da|en}做什么。我以前
$stateProvider.state('app', {
abstract: true,
url: '/{lang:(?:da|en)}',
template: '<ui-view/>'
});
$stateProvider.state('app.home', {
url: '',
templateUrl: 'views/home-page.html',
});
具体来说,{lang:?:da|en}做什么。我以前没有见过这个构造。这是使用所谓的Regex参数,您可以看到它们的 所以,/{lang:?:da | en}意味着检查lang参数是da还是en。如果是,则渲染模板
具体来说,这将匹配/da或/en这是使用所谓的Regex参数,您可以看到它们的 所以,/{lang:?:da | en}意味着检查lang参数是da还是en。如果是,则渲染模板 具体来说,这将匹配/da,或/en这是一个 它基本上是一个只将da或en作为lang参数的正则表达式 {}表示一个位置 lang是参数名 ?:da | en表示可能的值 我认为您正在遵循这个示例-> 而且确实不是非常清晰这是一个 它基本上是一个只将da或en作为lang参数的正则表达式 {}表示一个位置 lang是参数名 ?:da | en表示可能的值 我认为您正在遵循这个示例->
而且确实不是非常清晰在我看来,它创建了一个命名的选择语言,根据URL中找到的语言首选项,它将包含da或en。就JavaScript而言,它只是一个没有特殊意义的字符串。在我看来,它创建了一个命名的选择语言,根据URL中找到的语言首选项,它将包含da或en。就JavaScript而言,它只是一个没有特殊意义的字符串。