<input type="text" style="width:100%;" v-model="msg">
<body>
<div id="app">
<input type="text" v-model="n1">
<select v-model="opt">
<option>+</option>
<option>-</option>
<option>*</option>
<option>/</option>
</select>
<input type="text" v-model="n2">
<input type="button" value="=" v-on:click="cal">
<input type="text" v-model="result">
</div>
<script>
var vm=new new Vue({
el:'#app',
data:
{
n1:0,
n2:0,
opt:'+',
result:0
},
methods: {
cal()
{
var str='parseInt(this.n1)'+this.opt+'parseInt(this.n2)';
this.result=eval(str);
}
},
})
</script>
</body>
<h1 :class="['thin', 'italic']">hello world</h1>
2.在数组中使用三元表达式
<h1 :class="['thin', 'italic', flag?'active':'']">hello world</h1>
3.在数组中使用 对象来代替三元表达式,提高代码的可读性
<h1 :class="['thin', 'italic', {'active':flag} ]">hello world</h1>
4.在为 class 使用 v-bind 绑定 对象的时候,对象的属性是类名
<h1 :class="classObj">hello world</h1>
var vm = new Vue({
el: '#app',
data: {
flag: true,
classObj: {
red: true, thin: true, italic: false, active: false }
},
methods: {
}
});
<body>
<div id="app">
<!-- 对象就是无序键值对的集合 -->
<!-- <h1 :style="styleObj1">这是一个h1</h1> -->
<h1 :style="[ styleObj1, styleObj2 ]">这是一个h1</h1>
</div>
<script>
// 创建 Vue 实例,得到 ViewModel
var vm = new Vue({
el: '#app',
data: {
styleObj1: {
color: 'red', 'font-weight': 200 },
styleObj2: {
'font-style': 'italic' }
},
methods: {
}
});
</script>
</body>
第一步:进入vscode界面,使用快捷键Ctrl+shift+p,输入sni,找到首选项:配置用户代码片段。
第二步:点击首选项:配置用户代码片段,并输入html.json,并点击进入
第三步:将如下代码覆盖进html.json文件中`在这里插入代码片
Ctrl+s保存。
第四步:创建一个新的html页面,输入vh,就会自动生成一个简单的vue模板啦
参考文章链接地址
<body>
<div id="app">
<p v-for="(item, i) in list">索引值:{
{
i}} --- 每一项:{
{
item}}</p>
</div>
<script>
var vm = new Vue({
el: '#app',
data: {
list: [1, 2, 3, 4, 5, 6]
},
methods: {
}
});
</script>
</body>
<div id="app">
<p v-for="(user,i) in list">Id:{
{
user.id }} --- 名字:{
{
user.name }} --- 索引:{
{
i}}</p>
</div>
<script>
var vm = new Vue({
el: '#app',
data: {
list: [
{
id: 1, name: 'zs1' },
{
id: 2, name: 'zs2' },
{
id: 3, name: 'zs3' },
{
id: 4, name: 'zs4' }
]
},
methods: {
}
});
</script>
<div id="app">
<p v-for="(val, key, i) in user">值是: {
{
val }} --- 键是: {
{
key}} -- 索引: {
{
i}}</p>
</div>
<script>
var vm = new Vue({
el: '#app',
data: {
user: {
id: 1,
name: '托尼',
gender: '男'
}
},
methods: {
}
});
</script>
<div id="app">
<p v-for="count in 10">这是第 {
{
count }} 次循环</p>
</div>
<script>
var vm = new Vue({
el: '#app',
data: {
},
methods: {
}
});
</script>
<div id="app">
<div>
<label>id:
<input type="text" v-model="id">
</label>
<label>name:
<input type="text" v-model="name">
</label>
<input type="button" v-on:click="add" value="添加">
</div>
<p v-for="item in list" v-bind:key="item.id">
<input type="checkbox">
{
{
item.id}} {
{
item.name}}
</p>
</div>
<script>
var vm=new Vue({
el:'#app',
data:
{
id:'',
name:'',
list:
[
{
id: 1,name:'jack'},
{
id: 2,name:'tom'},
],
},
methods:
{
add()
{
this.list.unshift({
id:this.id,name:this.name});
}
}
});
</script>
v-if 有较高的切换性能消耗 v-show 有较高的初始渲染消耗
如果元素涉及到频繁的切换,最好不要使用 v-if, 而是推荐使用 v-show 如果元素可能永远也不会被显示出来被用户看到,则推荐使用
v-if
<div id="app">
<!-- <input type="button" value="toggle" @click="toggle"> -->
<input type="button" value="toggle" @click="flag=!flag">
<h3 v-if="flag">这是用v-if控制的元素</h3>
<h3 v-show="flag">这是用v-show控制的元素</h3>
</div>
<script>
var vm = new Vue({
el: '#app',
data: {
flag: false
},
methods: {
/* toggle() {
this.flag = !this.flag
} */
}
});
</script>