Vue.js 我可以在vuejs中单击更改字体吗?

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

我将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" :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”,但似乎我错了