【问题标题】:Show pages according to url AngularJs根据 url AngularJs 显示页面
【发布时间】:2016-08-23 04:36:43
【问题描述】:

我正在使用 Spring MVC 制作一个 Angular 项目。

我需要做的是从 url 获取参数并相应地显示页面。

例如:

cms.example.com -- > so it will go to the cms signup/login page

login.example.com --->  so it will go to the only login page

somename.example.com --->  so it will go to the login page but with parameter somename

由于 Angular 是一个 SPA(单页应用程序),我制作了一个控制器来获取完整的 url 并返回

cms.controller('homeController', function($scope, $http,  $window) { 
    var y =  window.location.host.split('.');
    var z = y[0];

    if ( z == "cms" )
    {
        $scope.logincms = z;
        //console.log($scope.logincms);
    }
    else if ( z == "login" )
    {
        $scope.logincms = z;
        //console.log($scope.logincms);
    }
    else
    {  //404 or success page  }         
});

并在html页面中使用ng-if,如果它等于login,那么它将显示登录html,如果它是cms,那么它将显示登录/注册页面。 但是

我看过一个网站 cliniko.com。他们在那里制作了相同类型的应用程序,但我在他们的 html 中没有看到任何 ng-if。只是想知道他们是如何做到的,还是有其他方法可以做到?

【问题讨论】:

  • 看角度路由器。
  • 我会让每个主机条目都包含一个特定的 JS 文件,该文件可以为您设置适当的状态/配置。如果没有关于您的应用的更多信息或您遇到的具体问题或问题,则无法直接回答此问题
  • @phil 你还需要什么信息

标签: javascript angularjs url


【解决方案1】:

使用 $routeProvider。你的做法不正确。

$routeProvider 完全符合您的要求。你可以在这里参考:https://docs.angularjs.org/api/ngRoute/provider/$routeProvider

【讨论】:

  • 这根本不正确。 $routeProvider 在 URL 的主机部分路由
猜你喜欢
  • 2021-02-27
  • 1970-01-01
  • 1970-01-01
  • 2018-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-22
  • 2016-11-19
相关资源
最近更新 更多