只是想知道,我有以下设置:
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。
答案 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的新手,但您只需致电:
即可将其附加到VueVue.prototype.$monthNames
然后使用monthNames
从我能找到的你也可以使用mixins(看起来有点危险,影响所有组件)或者只是在加载Vue实例之前声明一个常量。