【发布时间】:2019-06-23 02:53:02
【问题描述】:
我的组件留下了许多代码行,所以我决定将这些方法放在一个名为 functions.js 的单独文件中。我不能调用这些方法。
我试过了:
functions.js
function sendList() {...};
function getLists() {...};
function deleteList(listId) {...}
export default {sendList, getLists, deleteList}
MyLayout.vue
...
<script>
import {sendList, getLists, deleteList} from '../statics/functions.js'
...
created() { this.getLists();},
...
出现3个错误:
vue.runtime.esm.js?2b0e:587 [Vue 警告]:创建钩子时出错:“TypeError: this.getLists is not a function”
TypeError: this.getLists 不是函数
属性或方法“列表”未在实例上定义,而是在渲染期间引用。通过初始化该属性,确保此属性是反应性的,无论是在数据选项中,还是对于基于类的组件。请参阅:https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties。
【问题讨论】:
-
getLists(),不是this.getLists()。 -
如果您确实希望它们成为方法,您可能需要创建一个mixin
标签: javascript vue.js vuejs2