vue.js引用数据中的常量?

时间:2018-05-25 20:14:09

标签: javascript vue.js vuejs2

只是想知道,我有以下设置:

new Vue({
      el: '#app',
      const: {
        monthNames       : ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
      },
      data: {
        year             : (new Date()).getFullYear(),
        month            : (new Date()).getMonth(),
        monthName        : this.monthNames[(new Date()).getMonth()],
        day              : (new Date()).getDate(),
      },
      ...
)}

正如您所看到的,我正在尝试将(new Date()).getMonth()传递到monthNames的{​​{1}}数组中 - 但是控制台正在返回const

所以我的问题很简单:如何从数据中引用monthNames?

N.B。我正在使用最新的js dev build。

2 个答案:

答案 0 :(得分:1)

你可以在Vue实例之外或者在另一个模块中声明它并在使用import { monthNames } from './constants'之前导入它,然后随时使用它。

如果你想将它保留在特定的Vue实例中,那么我认为最好把它放在computed结构中进行缓存。

示例:

const monthNames = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]

new Vue({
  el: '#app',
  data: {
    year             : (new Date()).getFullYear(),
    month            : (new Date()).getMonth(),
    monthName        : monthNames[(new Date()).getMonth()],
    day              : (new Date()).getDate(),
  },
  ...
)

与您匹配的问题:https://stackoverflow.com/a/46883212/7395911

关于Vue中恒定结构的讨论:https://github.com/vuejs/vue/issues/6004

答案 1 :(得分:0)

我是Vue的新手,但您只需致电:

即可将其附加到Vue
Vue.prototype.$monthNames

然后使用monthNames

在数据中调用它

从我能找到的你也可以使用mixins(看起来有点危险,影响所有组件)或者只是在加载Vue实例之前声明一个常量。