# mpx/no-arrow-functions-in-watch
不允许使用箭头函数定义观察者
- ⚙️ 这条规则包含在
"plugin:mpx/mpx-essential"
。
# 📖 规则详情
此规则不允许使用箭头函数定义观察者。原因是箭头函数绑定父上下文,所以“this”不会像您预期的那样成为Mpx实例
<script>
createComponent({
watch: {
/* ✓ GOOD */
a: function (val, oldVal) {
console.log('new: %s, old: %s', val, oldVal)
},
b: 'someMethod',
c: {
handler: function (val, oldVal) { /* ... */ },
deep: true
},
d: {
handler: 'someMethod',
immediate: true
},
e: [
'handle1',
function handle2 (val, oldVal) { /* ... */ },
{
handler: function handle3 (val, oldVal) { /* ... */ },
/* ... */
}
],
'e.f': function (val, oldVal) { /* ... */ },
/* ✗ BAD */
foo: (val, oldVal) => {
console.log('new: %s, old: %s', val, oldVal)
}
}
})
</script>
# 🔧 选项
无