Vue 框架学习(四) 条件判断
1、if,else:
<body>
<div id ="app">
<!-- 复杂判断还是推荐使用computed计算 -->
<h2 v-if="score >= 90">
<div>优秀</div>
</h2>
<h2 v-else-if="score >= 60">
<div>良好</div>
</h2>
<h2 v-else>
<div>不及格</div>
</h2>
{{message}}
</div>
<script>
//创建Vue实例,得到 ViewModel
const vm = new Vue({
el: '#app',
data: {
message: 'Smallstars',
isShow: true,
score: 95
},
methods: {},
computed: {},
});
</script>
</body>
2、条件渲染:
<body>
<div id ="app">
<!-- 如果没有用key标识,会复用输入框,内容不会清空,key值设置需不同才行 -->
<span v-if="isUser">
<label for="username">用户账户</label>
<input type="text" id="username" placeholder="用户账户" key="username">
</span>
<span v-else="">
<label for="email">用户邮箱</label>
<input type="text" id="email" placeholder="用户邮箱" key="emil">
</span>
<button @click="isUser = !isUser">切换类型</button>
</div>
<script>
//创建Vue实例,得到 ViewModel
const vm = new Vue({
el: '#app',
data: {
message: 'Smallstars',
isUser: true
},
methods: {},
computed: {},
});
</script>
</body>
2、v-show: 多次隐藏使用
<body>
<div id ="app">
<!--
v-if: 当条件为 false 对应元素根本不存在dom中
v-show: 当条件为 false 只是隐藏,内样式改为: display: none
-->
<h2 v-if="isShow" id="a1">{{message}}</h2>
<h2 v-show="isShow" id="a2">{{message}}</h2>
</div>
<script>
//创建Vue实例,得到 ViewModel
const vm = new Vue({
el: '#app',
data: {
message: 'Smallstars',
isShow: true
},
methods: {},
computed: {},
});
</script>
</body>

3、响应函数和不响应操作
<body>
<div id ="app">
<ul>
<li v-for="value in letters">{{value}}</li>
</ul>
<button @click="btnClick">按钮</button>
</div>
<script>
//创建Vue实例,得到 ViewModel
const vm = new Vue({
el: '#app',
data: {
letters: ['a', 'c', 'b', 'd']
},
methods: {
btnClick(){
//1、在最后添加元素
// this.letters.push('s')
//2、在前面添加元素
// this.letters.unshift('s')
//3、在最后删除元素
// this.letters.pop()
//4、在最前面删除元素
// this.letters.shift()
// 5、排序
// this.letters.sort()
// 6、反转
// this.letters.reverse()
// 7、splice
// 删除元素:(start, length)
// 替换元素:(start, length, values)
// 插入元素:(start, 0, values)
// this.letters.splice(1, 2)
// this.letters.splice(1, 2, 'e', 'f')
// this.letters.splice(1, 0, 'e', 'f')
// 非响应式:不会刷新,但是在Console中可以查看到值已经改变
// this.letters[0] = 'h'
// 可以用以下两种方式达到上式响应式的功能
// this.letters.splice(1, 1, 'h')
// set(object, index, value)
// Vue.set(this.letters, 1, 'h')
}
},
computed: {},
});
</script>
</body>
每天进步一点点

浙公网安备 33010602011771号