总结一下v-text和v-html和插值表达式的差别
插值表达式:不会覆盖标签中其他内容,而只是将其引用的数据显示在插值表达式占据的区域
v-text:会覆盖标签中其他内容,且只能将数据以文本方式显示
v-html:会覆盖标签中其他内容,和v-text不同,v-html可以将数据以html数据以代码形式显示。
完成创建一个vue对象并和id是app的div进行绑定,然后在该div中分别用插值表达式、v-text、v-html获取到vm下data中的msg的值
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="app">
<p>{{msg}}</p>
<p v-text="msg"></p>
<p v-html="msg"></p>
</div>
<script src="vue/vue.js"></script>
<script>
var vm=new Vue({
el:"#app",
data:{
msg:'<h2>msg</h2>',
},
})
</script>
</body>
</html>
什么是MVVM模式,这样设计有什么优点
MVVM是一个软件架构设计模式,是一种简化用户界面的事件驱动编程方式
低耦合。视图(View)可以独立于Model变化和修改,一个ViewModel可以绑定到不同的"View"上,当View变化的时候Model可以不变,当Model变化的时候View也可以不变。
可重用性。你可以把一些视图逻辑放在一个ViewModel里面,让很多view重用这段视图逻辑。
独立开发。开发人员可以专注于业务逻辑和数据的开发(ViewModel),设计人员可以专注于页面设计,使用Expression Blend可以很容易设计界面并生成xaml代码。
可测试。界面素来是比较难于测试的,而现在测试可以针对ViewModel来写。
使用vue将下列data中cat记录显示插入到页面之中
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="app">
<p>{{cat.name}}</p>
<p>{{cat.age}}</p>
<p>{{cat.desc}}</p>
</div>
<script src="vue/vue.js"></script>
<script>
var vm=new Vue({
el:"#app",
data: {
cat: {
name: '罗小黑',
age: 18,
desc: '是一只黑色的猫'
},
}
});
</script>
</body>
</html>
使用vue,完成一个登陆校验功能
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登陆校验</title>
</head>
<body>
<div id="app">
账号: <input type="text" v-model="username"><br>
密码: <input type="text" v-model="password"><br>
<button @click="login">登陆</button>
</div>
<script src="vue/vue.js"></script>
<script>
var vm=new Vue({
el:"#app",
data:{
username:'',
password:'',
},
methods:{
login(){
if(this.username===''||this.password===''){
alert('请输入账号或密码');
}
else {
alert('登录成功');
}
}
},
})
</script>
</body>
</html>