【问题标题】:How does the AngularJS router work for wildcards and pushstate?AngularJS 路由器如何处理通配符和 pushstate?
【发布时间】:2013-05-08 16:32:47
【问题描述】:

我们正在调查从 Backbone 到 Angular 的迁移。由于我们的设计,我们只需要迁移路由器。我想了解通配符路由如何适用于 Angular。这是 Backbone 中通配符路由的示例:

app.Router = Backbone.Router.extend({
      routes: {
        '*filter' : 'setFilter'
      },
      setFilter: function(params) {
         //all traffic ends up here.  you can grab the url and go.
         var url = this.cdn + "templates/" + params + ".html";
         ...
      }
    });
app.router = new app.Router();
Backbone.history.start({pushState: true}); 
  1. 通配符路由的等效角度是多少?

  2. 角手柄推动状态如何?具体来说,当浏览器支持pushstate时,它是否有办法利用/pushstate url,然后自动回滚到IE9的#pushstate hash url-

谢谢。

【问题讨论】:

    标签: backbone.js angularjs pushstate backbone-routing


    【解决方案1】:

    1) 目前不支持角度路由中的正则表达式

    2) Angular 会自动处理 pushstate,如果它在浏览器中不可用,那么它将自动回退到哈希模式# 只需使用下面的行

    $locationProvider.html5Mode(false);
    $locationProvider.hashPrefix('!');
    

    【讨论】:

    • 感谢您的回复。关于(1),有没有办法利用角度路由器来处理遗留页面。例如如果 /legacy 然后调用 legacy() 但如果 /newpages 然后利用正常角度。
    猜你喜欢
    • 1970-01-01
    • 2015-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多