javascript - AngularJS/UI 路由器 - 状态 URL/TemplateURL 中的区域设置

标签 javascript angularjs angular-ui-router

我想要完成的是将 $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/

相关文章:

javascript - 将特定对象(根据给定条件)从对象数组复制到AngularJS中的另一个数组中

javascript - 多次点击 Protractor 不起作用

angularjs - 使用 ui-router 在加载时将服务的数据放入嵌套 View

iphone - 如何在 UIWebView 中通过 AngularJS 检测 url 更改

angularjs - 嵌套 View 和状态未显示

Javascript 如何在 document.location.href 中添加目标 ="_parent"

javascript - 在 Canvas 中通过 Canny 边缘检测创建形状

javascript - 如何解决我的 react 导航的依赖性问题

javascript - 具有默认参数值的箭头函数定义中是否需要括号

angularjs - Angularjs 中的 Kendo UI 编辑器事件