相关疑难解决方法(0)

Angular js - route-ui添加默认参数

在我的应用程序中,我使用角度UI路由器.

我有当地人(英语和希伯来语)我的基本语言是英语.

这就是为什么我想要的语言是英语不要将参数添加到网址

例如:

  • Home English - > http://example.com/
  • Home希伯来语 - > http://example.com/he/

  • 关于我们English - > http://example.com/about

  • 关于我们希伯来语 - > http://example.com/he/about

这可能吗 ?

这是我目前的代码

$stateProvider
        .state('/', {
            url: "/",
            templateUrl: "Assets/app/templates/home.html",
            controller: 'homeController'
        })
        .state('activity', {
            url: "/activity",
            templateUrl: "Assets/app/templates/gallery.html",
            controller: 'galleryController'
        })
        .state('page', {
            url: '/:pagename',
            templateUrl: "Assets/app/templates/page.html",
            controller: 'pageController'
        });
Run Code Online (Sandbox Code Playgroud)

javascript angularjs angular-ui angular-ui-router

6
推荐指数
1
解决办法
1983
查看次数

AngularJS:url中的可选语言参数

我正在使用angularjs和UI-Router.我想配置指定所选语言的路由.虽然这部分路线应该是可选的.

我有以下状态:

{
    state: 'app',
    config: {
          abstract: true,
          url: '/{lang:(?:de|en)}',
          template: '<ui-view/>'
    }
}

{
    state: 'app.mainview',
    config: {
          url: '/mainview',
          templateUrl: 'app/mainview/mainview.html',
          controller: 'MainviewController',
          controllerAs: 'vm',
          title: 'Main View',
          settings: {
              pos: 1,
              displayName: 'Mainview',
              icon: 'code-array'
          }
    }
}
Run Code Online (Sandbox Code Playgroud)

现在它唯一可以导航到主视图

example.com/en/mainview
Run Code Online (Sandbox Code Playgroud)

虽然我想配置ui-router以使以下所有路由都有效:

example.com/mainview
example.com/en/mainview
example.com/de/mainview
Run Code Online (Sandbox Code Playgroud)

我可以在开头设置一个带有可选语言参数的路由而不使用双斜杠吗?如果不是,您建议使用哪些替代方案?

javascript state angularjs angular-ui-router

6
推荐指数
1
解决办法
1639
查看次数

使用stateProvider angularjs的多个可选参数的Url

由于angular angularjs路由有可选的参数值吗?AngularJS:使用带有可选参数的URL进行路由带有?参数名称的 问号应该使其成为可选项.它没有帮助我.

var app = angular.module('app', ['ui.router','ngRoute']);

app.config(function ($urlRouterProvider, $stateProvider) {
    $urlRouterProvider.otherwise('/a');
    $stateProvider.state('a', {
        url: '/a',
        templateUrl: 'views/a.html'
    }).state('b', {
        url: '/b/:code?/:d?',
        templateUrl : 'views/b.html'
    })
});
Run Code Online (Sandbox Code Playgroud)

这个网址http:// localhost:xx/kk /#/ b/1/2对我来说很好.但是http:// localhost:xx/kk /#/ b(没有任何参数)和http:// localhost:xx/kk /#/ b/1对我不起作用......

你可以看到我正在使用$stateProviderui-router.我不想切换到$urlRouteProvider

state angularjs angular-ui angular-ui-router

3
推荐指数
1
解决办法
3014
查看次数