在 vue.js 模板中显示主机名
showing the hostname in a vue.js template
假设我有这样的东西:
<q-input v-model="form.uuid" inverted-light color="white" stack-label="Your subdomain:" @blur="$v.form.uuid.$touch"
:error="$v.form.uuid.$error"
suffix=".website.com">
</q-input>
现在 .website.com 是硬编码的,但是如果我想让它基于用于访问网站的主机名怎么办? IE。如果我去 mydomain.tld 它不会显示 website.com - 它会显示 mydomain.tld.
有什么想法吗?
谢谢!
这里的困难部分是删除子域。我不知道这样做的可靠方法。
只需在模板中获得 host
渲染就足够简单了:
new Vue({
el: '#app',
data () {
return {
currentUrl: location.toString(),
host: location.host
}
}
})
<script src="https://unpkg.com/vue@2.6.10/dist/vue.js"></script>
<div id="app">
<p>Full: {{ currentUrl }}</p>
<p>Host: {{ host }}</p>
</div>
显然它需要针对原始示例进行调整,例如 :suffix="'.' + host"
。
假设我有这样的东西:
<q-input v-model="form.uuid" inverted-light color="white" stack-label="Your subdomain:" @blur="$v.form.uuid.$touch"
:error="$v.form.uuid.$error"
suffix=".website.com">
</q-input>
现在 .website.com 是硬编码的,但是如果我想让它基于用于访问网站的主机名怎么办? IE。如果我去 mydomain.tld 它不会显示 website.com - 它会显示 mydomain.tld.
有什么想法吗?
谢谢!
这里的困难部分是删除子域。我不知道这样做的可靠方法。
只需在模板中获得 host
渲染就足够简单了:
new Vue({
el: '#app',
data () {
return {
currentUrl: location.toString(),
host: location.host
}
}
})
<script src="https://unpkg.com/vue@2.6.10/dist/vue.js"></script>
<div id="app">
<p>Full: {{ currentUrl }}</p>
<p>Host: {{ host }}</p>
</div>
显然它需要针对原始示例进行调整,例如 :suffix="'.' + host"
。