我正在使用Laravel 5.4
,vue.js 2.3
和vue-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。