前言
开始学习Vue了,Vue是一个非常厉害的前端框架,为了以后的使用,Vue的学习是不能抛下滴。
一些大深层的东西暂时还没学,先把基础打牢了再说。
插值
文本语法
普通的文本输出语法: {{}}
当然里面放的是一个Vue边界里面的变量。
为了方便查看,我就放body,和javaScript里面的数据
body:
<body>
<div id="app">
<h3>文本</h3>
{{msg}}
</div>
</body>
JavaScript:
<script type="text/javascript">
new Vue({
el: "#app",
data() {
return {
msg: "hello world"
};
}
});
</script>
html语法
看到了,就差不多明白了吧,就是可以在javaScript里面写html的代码,
然后同样可以放到html中
比如说<span style ="font-size: 30px;">hello world</span>
放到div里面去
body
<body>
<div id="app">
<h3>html</h3>
<div v-html="vueHtml">
</div>
</div>
</body>
JavaScript
<script type="text/javascript">
new Vue({
el: "#app",
data() {
return {
vueHtml: '<span style ="font-size: 30px;">hello world</span>',
};
}
});
</script>
bind语法
在vue里面有双向绑定,而bind则是一种单向绑定,并不会影响到变量值的改变
body
<body>
<div id="app">
<h3>属性bind</h3>
<input type="text" v-bind:value="msg" />
</div>
</body>
JavaScript
<script type="text/javascript">
new Vue({
el: "#app",
data() {
return {
msg: "hello world"
};
}
});
</script>
表达式
有了表达式,我们才能对其一些数值对其进行一些逻辑处理,使其更加的方便。
其实说来也跟之前我们使用的El表达式感觉差不多。
body
<body>
<div id="app">
<h3>表达式</h3>
{{str.substr(0,6).toUpperCase()}}
{{ number + 1 }}
{{ ok ? 'YES' : 'NO' }}
<li v-bind:id="'list-' + id">我的Id是js动态生成的</li>
</div>
</body>
JavaScript
<script type="text/javascript">
new Vue({
el: "#app",
data() {
return {
str:"http://www.baidu.com",
number:6,
ok:true,
id:5
};
}
});
</script>
指令
if 指令
if,else if, else 这是我们经常使用过的语法,而在vue中也是有的。
body
<body>
<div id="app">
<h3>v-if|v-else|v-else-if的使用</h3>
<input type="text" v-model="score" />
<div v-if="score>90">A</div>
<div v-else-if="score>80">B</div>
<div v-else-if="score>70">C</div>
<div v-else-if="score>60">D</div>
<div v-else="">E</div>
</div>
</body>
JavaScript
<script type="text/javascript">
new Vue({
el: "#app",
data() {
return {
score: 88
};
}
});
</script>
v-show指令
有些文本框里面没值的时候div没什么东西可以展示,但是给里面的变量进行双向绑定的时候,也就是变量里面有值的时候会将div里面的值展示出来。
body
<body>
<div id="app">
<h3>v-show</h3>
<input type="text" v-model="show" />
<div v-show="show">
终于有值了
</div>
</div>
</body>
JavaScript
<script type="text/javascript">
new Vue({
el: "#app",
data() {
return {
show:null
};
}
});
</script>
没有为变量赋值:
变量有值后:
v-for指令
也就是通常情况下的遍历,和迭代
body
<body>
<div id="app">
<h3>v-for</h3>
<div v-for="item,index in arr">
{{item}},{{index}}
</div>
<br />
<div v-for="item,index in objArr">
{{item.name}},{{index}}
</div>
</div>
</body>
JavaScript
<script type="text/javascript">
new Vue({
el: "#app",
data() {
return {
arr: [1, 3, 4, 6],
objArr: [{
id: "s001",
name: "kk"
}, {
id: "s002",
name : "qbl"
}, {
id: "s003",
name: "坤坤"
}]
};
}
});
</script>
遍历一个数组和一个集合。
动态参数
在通常情况下我们使用v-on指令的时候只能定死某个效果。
比如:v-on:click 点击事件
可动态参数可以随时修改事件
body
<body>
<div id="app">
<h3>动态参数</h3>
<input type="text" v-model="evname" />
<button v-on:[evname]="xxx">点我</button>
</div>
</body>
JavaScript
<script type="text/javascript">
new Vue({
el: "#app",
data() {
return {
evname:"click"
};
},
methods:{
xxx(){
console.log("点我干哈");
}
}
});
</script>
开始的话就是click事件。
可如果修改文本框的值后就变事件了。
过滤器
局部过滤器
过滤器就是为你一个边界里面的变量值进行一个修改,再展示到界面上。
却不会修改原来的变量值。
body
<body>
<div id="app">
<h3>局部过滤器</h3>
{{msg}}<br />
{{msg | a}}<br />
<h3>局部过滤器可串联</h3>
{{msg}}<br />
{{msg | a | b }}<br />
{{msg | b | a }}<br />
</div>
</body>
JavaScript
<script type="text/javascript">
new Vue({
el:"#app",
data(){
return {
msg:"http://www.baidu.com"
}
},
filters:{
a(v){
console.log(v);
return v.substring(4);
},
b(v){
return v.substring(3);
}
}
});
</script>
普通过滤器
过滤器可串联
全局过滤器
顾名思义,是项目开启时,所有的边界都能使用。
body
<body>
<div id="app">
<h3>全局过滤器</h3>
{{msg | c }}<br />
</div>
</body>
JavaScript
<script type="text/javascript">
Vue.filter('c',function(v){
return v.substring(7);
})
</script>
计算属性,监听属性
计算属性
就是为其两个变量值进行一个计算,然后都可以调用这个结果,
通常在购物车里面使用。
body
<body>
<div id="app">
<h3>计算属性</h3>
数量:<input type="text" v-model="num" /><br />
单价:<input type="text" v-model="price"/><br />
总价:{{total}}
</div>
</body>
JavaScript
<script type="text/javascript">
new Vue({
el:"#app",
data(){
return {
num:1,
price:6
}
},
computed:{
total(){
return parseInt(this.num) * parseInt(this.price);
}
}
});
</script>
监听属性
监听,就是在一个变量的值发生改变的时候要执行的方法,
一旦发生改变就执行方法
body
<body>
<div id="app">
<h3>监听属性</h3>
km:<input type="text" v-model="km" /><br />
m:<input type="text" v-model="m"/><br />
</div>
</body>
JavaScript
<script type="text/javascript">
new Vue({
el:"#app",
data(){
return {
km:1,
m:1000
}
},
watch:{
km(v){
this.m = v*1000;
},
m(v){
this.km = v/1000;
}
}
});
</script>
总结
这些东西都是学习Vue的基础知识,没搞明白,之后的学习也难搞。
内容不深奥,只不过我得常回来看看啦。|ू・ω・` )
Thanks♪(・ω・)ノ希望对大家有所帮助