我想要完成的是将 $scope
变量设置为状态参数,
.state('form', {
url: '/' + locale + '/form',
templateUrl: locale + '/form.html',
controller: 'formController'
})
目前我只使用变量
var locale
但是我希望 URL 能够动态更改,如果
$scope.locale
改变。例如,如果用户选择英语,则范围将更改为
$scope.locale = 'en';
我希望这也反射(reflect)在状态/URL 中,并将用户带到适当的语言页面。我想我正在尝试做这样的事情:
.state('form', {
url: '/' + $scope.locale + '/form',
templateUrl: $scope.locale + '/form.html',
controller: 'formController'
})
有没有办法实时更新$stateParams
中的这个$scope
信息??
如何完成页面 templateUrl 和 URL 的实时更改?
最佳答案
您应该通过在 url 中指定参数来实现这一点,并且 templateUrl 是一个带有注入(inject) $stateParams 的函数:
.state('form', {
url: '/:locale/form',
templateUrl: function($stateParams) { return $stateParams.locale + '/form.html' },
controller: 'formController'
})
关于javascript - AngularJS/UI 路由器 - 状态 URL/TemplateURL 中的区域设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38057740/