Vue.js 我可以在vuejs中单击更改字体吗?
我将Vuejs与vuetify组件一起使用,我已自定义我的网站,使其具有两种国际化语言(i18n)。 问题是,当我换第二语言时,我也想换字体,但我不知道怎么做Vue.js 我可以在vuejs中单击更改字体吗?,vue.js,font-family,Vue.js,Font Family,我将Vuejs与vuetify组件一起使用,我已自定义我的网站,使其具有两种国际化语言(i18n)。 问题是,当我换第二语言时,我也想换字体,但我不知道怎么做 style .font{ font-family: 'b nazanin'; /*i want to use this font after i change my language*/ } <template> <button v-for="entry in languages" :ke
style
.font{
font-family: 'b nazanin';
/*i want to use this font after i change my language*/
}
<template>
<button v-for="entry in languages" :key="entry.title" @click="changeLocale(entry.language)"v-on:click="font">
<flag :iso="entry.flag" ></flag>
{{entry.title}}
</button>
<h1 v-bind:style="{font}">{{ $t('titleInHome') }}</h1>
</template>
风格
.font{
字体系列:“b纳扎宁”;
/*我想在更改语言后使用此字体*/
}
{{entry.title}
{{$t('titleInHome')}
在这种情况下,任何人都可以帮助我吗谢谢大家您可以使用动态样式或动态类,这取决于代码中的某些变量。请参见此处示例:
例如,您可以编写两个类,然后编写如下内容:
:class="{'classOne': languageA: , 'classTwo': languageB}" //(languageA and B would be bools in this case)
您可以使用样式绑定来完成 HTML模板:
<html>
<body>
<div id="app">
<h1 :style="styles">Apply font here</h1> <br>
<button v-for="entry in langs" @click="changeFont(entry.title)" :key="entry.title">
{{ entry.title }}
</button>
</div>
</body>
</html>
new Vue({
el:"#app",
data:{
styleObj:{
color :'blue',
border: '2px blue dotted',
backgroundColor:'gray',
fontFamily:'Time New Roman'
},
langs:[
{ title :'Vue.js'},
{ title:'React'},
{ title:'Angular'}
]
},
methods:{
changeFont(lang){
let fontFamily = null;
if(lang == "Vue.js"){
fontFamily = "Arial";
}
else if(lang == "React"){
fontFamily = "Verdana";
}
else{
fontFamily = "Calibri";
}
this.styleObj.fontFamily = fontFamily;
}
}
});
:style=“(entry.language==‘special_font_language’)?‘font-family:b-nazanin’:“”“非常感谢您的帮助,我可以在其他组件中使用:style=“style”吗?这是一个“数据”属性,因此仅限于当前组件/实例。如果要在多个组件中使用
样式
,则可以创建混合。mixin是Vue.js中的一项功能,用于全局定义公共内容。如果你不知道如何使用mixin,让我知道我会给你看。我已经创建了一个包含我的方法和数据的lanmixin,js文件,我已经将它导入到我的组件中,并像mixin一样添加了它:[lanmixins],所以现在我想我也可以对我的其他标记使用:style=“style”,但似乎我错了