Vue框架

Vue的简介

Vue是一套构建用户界面的框架,与Angular、React两个框架相比,Vue吸取了这两个框架的优点,单页面管理,中文设计,数据驱动(DOM驱动)

Vue的使用

  • 通过script标签引入vue.js
  • 创建vue对象
  • 通过el进行挂载
  • 通过data定义对象的属性
  • 通过method定义对象的方法
<body>
<div id="d1">
{{ msg }}
</div>
<!--通过script标签引入vue-->
<script src="vue/vue.js"></script>
<script>
// 创建vue对象
let vue1 = new Vue({
el: '#d1', // 挂载点:使vue对象和html标签建立联系
data: {
msg: 'message'
},
methods: {
Click : functione () {
alert(123)
}
})
</script>
</body>

插值表达式

`
差值表达式就是在挂载点对应的标签当中,
用{{ }}调用在vue对象中已经定义好的变量也可以对变量进行简单处理
` <div id="d1">
{{ msg }}
{{ num * 10}}
{{ msg + 1}}
{{ msg[1] }}
{{ msg.split('') }}
</div> <script src="vue/vue.js"></script>
<script>
new Vue({
el: '#d1',
data: {
msg: 'test',
num: 10
}
})
</script>

文本指令

  • {{}}
  • v-text: 原样输出
  • v-html:可以解析html代码
  • v-once:当前的标签只能被渲染一次,即使标签内引用的变量发生了变化
<body>
<div id="d1">
<p>{{ msg }}</p>
<p v-text="msg.split('')">12345</p>
<p v-text="info"></p>
<p v-html="info"></p> <hr>
<!--v-once保证当前标签只渲染一次, 既第一次加载页面的时候, 因此即使msg的值发生了变化, 变迁的内容也不变-->
<p v-on:click="pClick" v-once>{{ msg }}</p>
<p>{{ msg }}</p>
</div> <script src="vue/vue.js"></script>
<script>
new Vue({
el: '#d1',
data: {
msg: 'message',
info: '<h1>info</h1>'
},
methods: {
pClick: function () {
if (this.msg !== '信息') {
this.msg = '信息'
}else {
this.msg = 'message'
}
}
})
</script>

事件指令

  • 就是给挂载点内标签绑定事件
  • v-on:事件名="方法名"也可以简写为@事件名="方法名"
  • @事件名="方法名" 方法名不加括号会自动传入一个$event事件对象
  • @事件名="方法名() 方法名加括号时, 不会自动传参
<body>
<div id="d1">
<p @click="f1">{{ click }}</p>
<p @mouseover="f2" @mouseout="f3" @mousedown="f4" @mouseup="f5" @mousemove="f6" @contextmenu="f7">{{ action }}</p>
<hr>
<!--不加括号时, 会自动传入一个参数: 点击事件对象$event-->
<p @click="f8">{{ click }}</p>
<!--加括号时, 不会自动传参, 可以手动传参-->
<p @click="f8($event, '并且传入参数')">{{ click }}</p>
<p></p> </div> <script src="vue/vue.js"></script>
<script>
new Vue({
el: '#d1',
data: {
click: '点击事件',
action: '鼠标事件'
},
methods: {
f1() {
this.click = '点击了'
},
f2() {
this.action = '悬浮'
},
f3() {
this.action = '离开'
},
f4() {
this.action = '按下'
},
f5() {
this.action = '抬起'
},
f6() {
this.action = '移动'
},
f7() {
this.action = '右键'
},
f8(ev, arg) {
console.log(ev);
this.click = '点击了' + arg
}, }
})
</script>

属性指令

  • 属性指令就是用来控制挂载点内的标签的属性的
  • v-bind:属性名="变量"也可以简写为 :属性名="变量"
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.d1 {
width: 200px;
height: 200px;
background-color: red;
} .d2 {
border-radius: 50%;
}
</style>
</head>
<body>
<div id="d1">
<!--class属性绑定-->
<p :class="c1">class属性</p>
<!--使用[]绑定多个类-->
<p :class="[c1, c2]">class属性</p>
<!--既支持变量, 也支持常量-->
<p :class="['d1', c2]">class属性</p>
<!--{类名:布尔值}可以控制该类是否其作用-->
<p :class="[c1, {d2: false}]">布尔控制</p> <p :style="myStyle">style属性</p>
<p :style="{width: w, height: h, backgroundColor: bgc}">style属性</p>
<p></p> </div> <script src="vue/vue.js"></script>
<script>
new Vue({
el: '#d1',
data: {
c1: 'd1',
c2: 'd2',
is_true: true,
myStyle: {
width: '100px',
height: '100px',
backgroundColor: 'green'
},
w: '100px',
h: '100px',
bgc: 'green'
},
})
</script> </body>
</html>

--++

最新文章

  1. 安装rabbitmq
  2. Spring学习笔记(3)——Bean的注入方式
  3. Java并发编程:并发容器之CopyOnWriteArrayList(转载)
  4. [CareerCup] 11.3 Search in Rotated Sorted Array 在旋转有序矩阵中搜索
  5. Python实现的粒子群优化算法
  6. HDOJ 1151 Air Raid
  7. google maps v3 添加自定义图标(marker,overlay)
  8. poj1274 匈牙利算法 二分图最大匹配
  9. 使用NPOI插件读取excel模版修改数据后保存到新目录新文件中
  10. eXtremeDB
  11. Myeclipse中如何修改Tomcat的端口号
  12. mysql命令参数详解
  13. java——对象学习笔记
  14. TCP的发送系列 — 发送缓存的管理(一)
  15. Kali Linux安装中文输入法全纪录
  16. 设计模式 | 建造者模式/生成器模式(builder)
  17. Linux神奇命令之---tar
  18. 5-4日 socket套接字
  19. 1: 创建一个sap demo项目:
  20. Font-Spider 一个神奇的网页中文字体工具,就是这么任性

热门文章

  1. static inline和inline的区别——stm32实测
  2. Wireshark的简单使用
  3. Ultimate Chicken Horse GameProject需求规格报告书
  4. map的基本操作
  5. MySQL实战45讲学习笔记:第十四讲
  6. [LeetCode] 263. Ugly Number 丑陋数
  7. JVM系列之七:HotSpot 虚拟机
  8. BS项目启动任意EXE文件或者CS项目
  9. 运行带参数的python脚本
  10. 洛谷疯狂coding~