chatgpt给的错误答案
$watch(['count', 'name'], (newValues, oldValues) => {})
上面的代码虽然可以监听到count和name的变化,但是newValues永远是count的值,name是无法拿到的
正确的写法是
Alpine.data('box', () => ({
init() {
this.$watch('[first,last]', (v,oldV) => {
console.log(v)
this.name=`${v[0]} ${v[1]}`
})
},
}
))
chatgpt还给了这段代码监听,结果也是错的
<script>
const app = Alpine.data('myComponent', () => ({
myData: 'Hello'
}));
app.$watch('myData', (newValue, oldValue) => {
console.log(`myData changed from ${oldValue} to ${newValue}`);
});
</script>
Alpine.data方法根本就没有返回值,app是undefined,所以app.$watch是无效的,要在init里面写