如何在 Vuejs 中使用 main.js 中的 Mixin?

How to use Mixin in main.js in Vuejs?

我正在尝试使用来自 mixin 的全局信息。我打算访问组件中的 getNow computed prop,但它似乎是 undefined.

main.js:

Vue.mixin({
    data: function() {
        return {
          chainBoxURL: "http://172.22.220.197:18004/jsonrpc"
        }
    },
    computed: {
        getNow() {
          const today = new Date();
          const date = today.getFullYear() + '-' + (today.getMonth() + 1) + '-' + today.getDate();
          const time = today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds();
          const dateTime = date + ' ' + time;
          return dateTime;
        }
    }
})

分量:

methods: {
    getChainAddress(form) {
        if (form.password == form.password_again && form.password != '') {
            console.log(this.getNoW)
        }
    }
}

mixin 中的计算属性定义为:getNow() 但您在组件中拼写为 getNoW()

或者你可能忘记在组件中包含 mixin。

当您尝试访问 getNow 时似乎有错字,W 而不是 w

旁注,

  1. 您可以使用 template strings 让生活稍微轻松一些
const today = new Date();
const date = `${today.getFullYear()}-${(today.getMonth() + 1)}-${today.getDate()}`;
const time = `${today.getHours()}:${today.getMinutes()}:${today.getSeconds()}`;
const dateTime = `${date} ${time}`;
  1. 您可以在 if 语句中翻转您的条件,因为在 &&
  2. 的情况下,如果第一个条件为假,JS 将不会评估第二个条件
if (form.password != '' && form.password == form.password_again) {
  console.log(this.getNoW)
}