我正在使用Laravel 5.4vue.js 2.3vue-router

现在的情况

example.com命中时,Laravel返回app View ,该 View 启动Vue.app
web.php

Route::get('/', function () {
    return view('app');
});

app.js
const routes = [
    { path: '/', component: App },
];

const app = new Vue({
    el: '#app',
    router,
    data () {
        return {}
    },
});

应用程序
export default {
    ...
}

我想做什么

如果键入usa.example.com,我希望alert()中的App.vue显示usa

如果键入italy.example.com,我希望alert()中的App.vue显示italy

我阅读了vue-router的文档,但不确定是Laravel问题,Vue问题还是两者。

应用程序
export default {
    ....
    created() {
        alert('subdomain is ' + $route.params.subdomain)
    }
}

最佳答案

VueRouter不会跟踪子域。

但是,您可以从location获取子域,并将其用于组件的created方法中:

created() {
  let subdomain = location.hostname.split('.').shift();
  alert('subdomain is ' + subdomain);
}

上面的代码基于this answer

08-08 04:18