为什么vue(v-on)找不到我的功能?

时间:2019-06-12 11:27:37

标签: javascript vue.js

我对Vue(和JS)是完全陌生的,所以请原谅我“愚蠢”的问题。

在我的Vue-Pet-Project中,我有一个自行编写的类模块Sudoku。在此,我想搜索回溯结果。现在,Vue识别出了对“ startSearch”按钮的点击,但是告诉我:

  

vue.esm.js?a026:628 [Vue警告]:v-on处理程序中的错误:   “ ReferenceError:未定义回溯”

     

位于

     

--->           警告@ vue.esm.js?a026:628 logError @ vue.esm.js?a026:1893 globalHandleError @ vue.esm.js?a026:1888   handleError @ vue.esm.js?a026:1848 invokeWithErrorHandling @   vue.esm.js?a026:1871调用程序@ vue.esm.js?a026:2188 original._wrapper   @ vue.esm.js?a026:7559 vue.esm.js?a026:1897 ReferenceError:回溯   没有定义       在Sudoku.search(sudoku.js?9ece:4)       在VueComponent.startSearchSolutions(App.vue?9c43:74)       点击时(App.vue?88bf:69)       在invokeWithErrorHandling(vue.esm.js?a026:1863)       在HTMLButtonElement.invoker(vue.esm.js?a026:2188)       在HTMLButtonElement.original._wrapper(vue.esm.js?a026:7559)

尽管已声明此函数。这是我班上的代码:

module.exports.Sudoku = class Sudoku
{
    [...]

search()
{
  console.log("search started")
  let results = []

  backtrack(this.myNumbers,0,0,results)

  return results
}

backtrack(testNumbers,x,y,results)
{
  console.log("start backtrack")

  //TODO: yet much to do...

  if(x===9 && y===9)
  {
    results.push([...testNumbers])
    console.log("result added")
  }
}
}

我做错了什么?

感谢帮助!

1 个答案:

答案 0 :(得分:1)

使用仅回溯的this.backtrack即时作为参考回溯方法。

module.exports.Sudoku = class Sudoku
{
    [...]

search()
{
  console.log("search started")
  let results = []
  
  //use this for reference backtrack method. Heir this is the Sudoku class itself
  this.backtrack(this.myNumbers,0,0,results)

  return results
}

backtrack(testNumbers,x,y,results)
{
  console.log("start backtrack")

  //TODO: yet much to do...

  if(x===9 && y===9)
  {
    results.push([...testNumbers])
    console.log("result added")
  }
}
}