在没有框架前,条件判断都是写在 Javascript 里面,但是有了 Vue 之後,可以直接在 HTML 需要判断的 tag 中写入判断式,大幅减少程序码量。
同样先附上今天练习内容会写到 Vue 部分的程序码
const vm = Vue.createApp({
data: () => {
return {
showContent: true,
num: 0,
nameList: ['Alex', 'Brenda', 'Carter', 'David'],
articles: {
name: '30days challenge',
usedTime: 'infinite',
date: '2021/10/08'
}
}
},
}).mount('#app');
v-show 搭配布林值(或是 truthy or falsy)来决定要不要显示该元素,不显示时会加上
display: none;的样式
。
<div id="app">
<input type="checkbox" v-model="showContent">
<p v-show="showContent">True</p>
<p v-show="!showContent">False</p>
<p>{{ showContent }}</p>
</div>
上面的范例搭配 checkbox 来切换显示的项目。
v-if 系列的用法可以直接在 HTML 写条件是判断,不需要在 HTML 和 JS 档案间切换来看有没有操作到对的 DOM 了。
<div id="app">
<p v-if="num===2">First</p>
<p v-else-if="num===1">Second</p>
<p v-else>Third</p>
</div>
上面的范例程序执行完,只会显示 Third ,其他两个 p 标签不符合条件不会加到 HTML 内
。
在制作选单、商品列表等画面时就会使用回圈来连续产出标签,在 JS 中组字串常常组错,现在有样板字串方便很多,但是结合在 HTML 内撰写更直觉。
撰写格式是item in 阵列名称
,item 的名称可以自行变更。
<div id="app">
<ul>
<li v-for="name in nameList">{{name}}</li>
</ul>
</div>
也可以加入索引值来使用,名称可以不是 index,但是尽量以能辨识为主
<div id="app">
<ul>
<li v-for="(name, index) in nameList">{{index + 1}} - {{name}}</li>
</ul>
</div>
索引值可以搭配 v-show 或 v-if 来产制不同的样式
<div id="app">
<ul>
<li v-for="(name, index) in nameList" v-show="index == 1">{{index + 1}} - {{name}}</li>
</ul>
</div>
搭配物件使用,把物件内的值都列出来
<div id="app">
<ul>
<li v-for="item in articles">{{item}}</li>
</ul>
</div>
<<: Leetcode: 99. Recover Binary Search Tree | 含C++笔记
#以下内容皆由初学者撰写,有错误可能,不建议尽信 30天Python自学: Day02 Python...
关於 micro:bit 教学原文参考:关於 micro:bit micro:bit 是一款由英国广...
连续 30 天不中断每天上传一支教学影片,教你如何用 React 加上 Firebase 打造社群...
开始实做发给 telegram 的回覆 telegram 使用 axios 来要求 telegram...
-示例 XACML 实现 基於风险和基於属性的存取控制是授权机制,而不是存取控制策略语言。SAML...