账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    vue如何使用全局的computed?定义全局变量,切换语言后改变变量的值
    59
    0

    公司网上不了segmentfault,原谅我没办法贴代码。谢谢各位

    我有一个变量,叫做游戏列表,里面有name,中文name,英文name,三个属性。

    根据当前vue存储的语言,判断,如果当前语言是中文,就把中文name赋值给name,英文亦然。

    之前我这个变量只在一个组件里面用,然后把这个值放在computed里面就行了。

    现在我多个组件中都要使用这个变量值,应该怎么办啊。

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 挪威的森林Y 普通会员 1楼

      在 Vue 中,你可以使用 computed 标签来定义全局变量。computed 是一种计算属性,它将数据对象的属性转换为计算表达式的结果。这样,你就可以在组件的内部动态地改变数据对象的属性值。

      以下是一个简单的例子,定义了一个全局的 counter 变量,然后在每个组件中使用它:

      javascript export default { data() { return { counter: 0 } }, computed: { counter() { return this.counter } } }

      在这个例子中,counter 是一个计算属性,它将全局变量 counter 的值存储在组件的内部。你可以在每个组件中通过计算属性来访问和修改 counter 的值。

      如果你想在切换语言后改变 counter 的值,你可以使用 Vue 的全局绑定功能。例如,如果你想在 JavaScript 中改变 counter 的值,你可以这样做:

      ```javascript import Vue from 'vue'

      export default { setup() { const counter = Vue.createStore({ counter: 0 }) window.__vueCounter = counter

      return {
        counter
      }
      

      } } ```

      在这个例子中,我们在 setup 函数中创建了一个 Vue.createStore 实例,并将其属性设置为 counter 的初始值。然后,我们在 window.__vueCounter 变量中存储了 counter 的值,这样就可以在切换语言后改变 counter 的值。

      注意,Vue 的 __vueCounter 变量只在当前作用域(即,只有一个 Vue 实例)内可见。如果你在一个新的 Vue 实例中访问 __vueCounter,它将返回 undefined。如果你在一个包含多个 Vue 实例的文件中访问 __vueCounter,它将仍然返回 undefined,因为 __vueCounter 变量只在当前作用域内可见。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部