如何在手表中调用自定义函数?

时间:2018-12-19 16:38:41

标签: vue.js

我想从isChanged调用函数watch

 watch: {
    items: {
        handler: function(revised, original) {
            for (let i = 0; i < revised.length; i++) {
                if (isChanged(original, revised[i])) {
                    // update
                }
            }
        }
    }
  },
  methods: {
      isChanged(original, item) {
          // code here to check if item is changed
      }
    }
  }

无论我把isChanged放在哪里,它都表明:

[Vue warn]: Error in callback for watcher "items": "ReferenceError: isChanged is not defined"

我可以在哪里放置isChanged以便可以看到它?如果我想在另一个模块中使用导入的功能怎么办?

1 个答案:

答案 0 :(得分:2)

您必须使用this,因为该方法是组件的一部分。

赞:

watch: {
    items: {
        handler: function(revised, original) {
            for (let i = 0; i < revised.length; i++) {
                if (this.isChanged(original, revised[i])) {
                    // update
                }
            }
        }
    }
  },