每次我将 show
切换为 true 时,我都会收到错误警告:
Error [Vue warn]: v-bind without argument expects an Object or Array value
测试组件无法获取传递给它的 show
的正确值,因为它始终为 false。
我的问题是:如何摆脱警告并让 VUE 执行我期望的操作(当测试发出切换过滤器时切换显示并将其传递给测试)
const Filter = Vue.component('Test', {
template: `<div>
{{show?'true':'false'}}
<button v-on:click="toggleFilter">toggle</button>
</div>`,
props: ['show'],
methods: {
toggleFilter(e) {
this.$emit('toggle-filter', e);
},
},
});
const app = new Vue({
el: '#app',
//components: {Filter},
data: {
show: false,
},
methods: {
toggleFilter() {
this.show = !this.show;
console.log('show:',this.show);
},
},
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
<div>
<Test v-bind.show="show" v-on:toggle-filter="toggleFilter"></Test>
{{show?'true':'false'}}
</div>
</div>
最佳答案
您应该使用 v-bind:show 而不是 v-bind.show。
关于javascript - 错误 [Vue 警告] : v-bind without argument expects an Object or Array value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60828261/