编程语言
首页 > 编程语言> > javascript-如何过渡到404“包罗万象”风格的路线?

javascript-如何过渡到404“包罗万象”风格的路线?

作者:互联网

我在索引路由中查找了一个子域.它为子域子弹查找计划,然后重定向到计划页面.如果没有计划返回,则需要呈现404页面.这是重定向的代码.诚然,我是ember的新手,但是这段代码似乎是正确的.我在控制台中得到零错误,它只是转到我尝试重定向的路线:

控制器/ index.js

model: function() {
    var self = this;

    if ( this.isHomePage() ) {

      return Ember.Object.create();

    } else {

      // Get resources
      var parts = window.location.hostname.split('.');
      var subdomain = parts[0];

      return this.store.find('plan', { plan_subdomain: subdomain }).then(function(plans) {
        var returnedPlan = plans.get('firstObject');
        if (Ember.isEmpty(returnedPlan)){
          debugger;
          return self.transitionTo('fourOhFour');
        } else {
          return returnedPlan;
        }
      });

    }
  },

router.js

  this.route("fourOhFour", { path: "*path"});

解决方法:

您正在指定404路径作为“全部捕获”

this.route("fourOhFour", { path: "*path"});

这样做很有意义,但是随后您要告诉Ember过渡到该通配符路由,但是URL是什么? / *?

您需要通过为transitionTo()指定第二个参数来告诉Ember该路径应该是什么

有关示例,请参见here

我回答了类似的问题here

标签:ember-js,redirect,ember-router,javascript
来源: https://codeday.me/bug/20191120/2047232.html