Vue.js 如何在vue中定义全局方法?
“按过滤器事件”方法用作组件中v-for循环的计算属性:Vue.js 如何在vue中定义全局方法?,vue.js,Vue.js,“按过滤器事件”方法用作组件中v-for循环的计算属性: getters: { eventsByFilters(state) { var events = state.events if (state.search === '' && state.selected) { switch (state.selected) { case 'month'
getters: {
eventsByFilters(state) {
var events = state.events
if (state.search === '' && state.selected) {
switch (state.selected) {
case 'month':
return events.filter(item => this.isMonthEqualNow(item))
case 'week':
return events.filter(item => this.isMonthEqualNow(item) && this.isWeekEqualNow(item))
case 'day':
return events.filter(item => this.isMonthEqualNow(item) && this.isWeekEqualNow(item)
&& this.isDayEqualNow(item))
default:
return events
}
} else {
return events.filter(item => item.title.indexOf(state.search) !== -1)
}
},
我需要使用isMonthEqual和其他方法来确定它们是否属于某些日期。但我发现很难访问它们:
如果我在操作中定义它们,我就无法访问它们,因为getter中不存在上下文
如果我也全局定义,那么就没有办法访问它们。在本例中,这是未定义的,如果没有定义,就会抛出方法未定义的错误 我假设您使用Vue CLI创建了项目,并因此使用了webpack。您应该能够在单独的文件中定义这些方法,导出它们,然后将它们导入到存储文件中 /Helpers/GlobalFunctions.js 导出函数为MonthEqualParam1,param2{ //废话废话 } store.js //头条 从“@/Helpers/GlobalFunctions.js”导入{isMonthEqual} //贮藏 const store=新的Vuex.store{ 吸气剂:{ myGetter:state=>{ //在某处使用该函数 常数isEqual=isMonthEqualmonth1,month2 等回报 } } }
我假设您是使用Vue CLI创建项目的,因此使用的是webpack。您应该能够在单独的文件中定义这些方法,导出它们,然后将它们导入到存储文件中 /Helpers/GlobalFunctions.js 导出函数为MonthEqualParam1,param2{ //废话废话 } store.js //头条 从“@/Helpers/GlobalFunctions.js”导入{isMonthEqual} //贮藏 const store=新的Vuex.store{ 吸气剂:{ myGetter:state=>{ //在某处使用该函数 常数isEqual=isMonthEqualmonth1,month2 等回报 } } }
你在用vuex吗?@Andresfornda,是的,你在用vuex吗?@Andresfornda,是的