Vuejsを使用してコンテナーdivの可視性を切り替えようとしています。以下の2つの方法を試しましたが、どちらもコンテナーの可視性に影響を与えません。方法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
id属性でselector
要素内にラップする必要があります。
作成している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>