vue 3 data() 不工作 setup() 工作但是为什么?
vue 3 data() not workink setup() working but why?
有什么区别?为什么一个工作,另一个为什么不工作?后者包含在文档中但不起作用。 webpack 有问题吗?我使用 laravel-mix
此代码片段有效:
<template>
<button @click="log">click me<button>
</template>
<script>
export default {
setup() {
const log = () => console.log('run');
return {
log
};
}
}
</script>
此代码段无效:
<template>
<button @click="log">click me<button>
</template>
<script>
export default {
methods: {
log() {
console.log('run');
}
}
}
</script>
两者都不应该工作,因为您忘记关闭按钮,这会导致编译器错误。
无论如何,如果您修复了标记中的错误,两者都应该有效。
这里你使用的是 Vue 的选项 Api。
<template>
<button @click="log">click me</button>
</template>
<script>
export default {
methods: {
log() {
console.log("run");
},
},
};
</script>
这里你使用的是 Vue 的 Composition Api
<template>
<button @click="log">click me</button>
</template>
<script>
export default {
setup() {
const log = () => console.log('run')
return {
log
}
}
};
</script>
也许您还禁用了 webpack.mix.js 中的选项 Api?
有什么区别?为什么一个工作,另一个为什么不工作?后者包含在文档中但不起作用。 webpack 有问题吗?我使用 laravel-mix
此代码片段有效:
<template>
<button @click="log">click me<button>
</template>
<script>
export default {
setup() {
const log = () => console.log('run');
return {
log
};
}
}
</script>
此代码段无效:
<template>
<button @click="log">click me<button>
</template>
<script>
export default {
methods: {
log() {
console.log('run');
}
}
}
</script>
两者都不应该工作,因为您忘记关闭按钮,这会导致编译器错误。
无论如何,如果您修复了标记中的错误,两者都应该有效。
这里你使用的是 Vue 的选项 Api。
<template>
<button @click="log">click me</button>
</template>
<script>
export default {
methods: {
log() {
console.log("run");
},
},
};
</script>
这里你使用的是 Vue 的 Composition Api
<template>
<button @click="log">click me</button>
</template>
<script>
export default {
setup() {
const log = () => console.log('run')
return {
log
}
}
};
</script>
也许您还禁用了 webpack.mix.js 中的选项 Api?