我正在尝试使用VUEJS切换容器Div的可见性,我尝试了下面的两种方法,但对容器的可见性没有任何影响。方法1:
<body>
<div class="checkbox" id = "selector">
<label><input type="checkbox" v-model="checked">Options</label>
</div>
<div class="container" id="app-container" v-if="checked">
<p>Text is visible</p>
</div>
<script src="path_to_/vue.js"></script>
<script>
var app = new Vue({
el: '#selector',
data: {
"checked": false
}
})
</script>
</body>
我知道vue.js加载正常,勾选复选框对文本可见性没有影响。
方法2:
<body>
<div class="checkbox" id = "selector">
<label><input type="checkbox" v-on:click="seen = !seen">Options</label>
</div>
<div class="container" id="app-container" v-if="seen">
<p>Text is visible</p>
</div>
<script src="path_to_/vue.js"></script>
<script>
var app = new Vue({
el: '#selector',
data: {
"seen": false
}
})
</script>
</body>
再次,勾选复选框没有效果。有什么想法吗?
您必须将checkbox
元素包装在div
元素中,并使用selector
ID属性。
您要创建的vue
元素仅适用于包含checkbox
的DIV。
var app = new Vue({
el: '#selector',
data: {
checked: false
}
});
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<body>
<div id="selector">
<div class="checkbox">
<label><input type="checkbox" v-model="checked">Options</label>
</div>
<div class="container" id="app-container" v-if="checked">
<p>Text is visible</p>
</div>
</div>
</body>