2017-09-26 105 views
1

我有一个计算Vue函数,它有一个参数。每次我尝试将其绑定到的点击,我接受和错误Error in event handler for "click": "TypeError: searchHashtag is not a function"在参数中用参数调用函数会导致错误

这里的HTML:

<el-button @click="searchHashtag('#acc')">Test</el-button> 

而这里的逻辑:你想

data() { 
    messages: [] 
}, 

mounted() { 
    api.fetchMessages(this.projectId, (data) => { 
      this.messages = data.messages; 
}, 

computed: { 
    searchHashtag (searchBy) { 
      if (_.contains(this.messages, searchBy)) 
       this.$message('This is a message.'); 
    } 
} 

回答

2

的方法,而不是计算属性。

methods: { 
    searchHashtag (searchBy) { 
      if (_.contains(this.messages, searchBy)) 
       this.$message('This is a message.'); 
    } 
} 

计算属性不能像函数那样调用。它们的行为像Vue的属性,不需要参数。当你需要一个接受参数的函数时,总是使用一个方法。

相关问题