vue 学习 渲染、v-指令
vue渲染
在组件中data是一个方法里面的值要是一个对象return出去
export default {
name: "HelloWorld",
data() {
return {
msg: "vue 学习旅程"
};
}
};
如果是new的事例 data就是一个对象
var app = new Vue({
el: '#app',
data: {
message: 'Hello Vue!'
}
})
组件例子:
1.使用 {{}} 文本插值符
f1 <template>
<div class="hello">
<div>{{msg}}</div>
</div>
</template> <script>
export default {
name: "HelloWorld",
data() {
return {
msg: "vue 学习旅程"
};
}
};
</script> 效果:

// v-text v-html 区别
<template>
<div class="hello">
<span v-text="word1">11</span>
<span v-html="word2">11</span>
</div>
</template> <script>
export default {
name: "HelloWorld",
data() {
return {
word1: " <div>安稳1</div> ",
word2: "<div>安稳2</div> "
};
}
};
</script> 效果:
总结: v-html解析html 两个都会覆盖标签内容 {{}}不会覆盖 {{}}和v-text都不解析html内容

vue指令
2.v-bind
改指令的意思是:“将这个元素节点的 title 特性和 Vue 实例的 message 属性保持一致”。 v-bind可以简写 :
<template>
<div class="hello">
<span v-bind:title="msg">鼠标悬停几秒钟查看此处动态绑定的提示信息!</span>
</div>
</template> <script>
export default {
name: "HelloWorld",
data() {
return {
msg: "vue 学习旅程"
};
}
};
</script> 鼠标悬浮效果:

3.v-if 指令
绑定一个布尔值 true是显示 false隐藏
<template>
<div class="hello">
<span v-if="active">{{msg}}</span>
</div>
</template> <script>
export default {
name: "HelloWorld",
data() {
return {
msg: "vue 学习旅程",
active: true
};
}
};
</script>
4.v-for
注意点:
1.需要加key值 -通过key值来提升渲染的效率默认用 “就地复用” 策略
2.v-for
v-for="(item,index) in items" 第一参数item是每一项的数组元素 第二参数index是当前项的索引 (和angularjs 相反 )
也可以用of代替in作为分隔符,也是最接近javascript迭代器的语法。 这时候每一项的意义有一些不一样v-for="(item,key,index) of items"第一参数item元素 第二参数key为键名 第三个参数index 为索引
<template>
<div class="hello">
<span v-for="(item,index) in msg" :key="index">{{item.a}}</span>
// <span v-for="item in msg">{{item.a}}</span> 注意这种写法不会影响效果,但是编辑器语法会报错出现红色波浪线 记得加上key值
</div>
</template>
<script>
export default {
name: "HelloWorld",
data() {
return {
msg: [{ a: 1 }, { a: 2 }, { a: 3 }]
};
}
};
</script> 效果:

5.v-on
事件绑定可以cy()也可以cy直接绑定 加括号传参数 v-on可以简写@
<div id="app-5">
<p>{{ message }}</p>
<button v-on:click="reverseMessage">逆转消息</button>
</div>
var app5 = new Vue({
el: '#app-5',
data: {
message: 'Hello Vue.js!'
},
methods: {
reverseMessage: function () {
this.message = this.message.split('').reverse().join('')
}
}
}) 以上我们直接写死的点击事件 也可以使用动态参数作为事件名绑定处理函数
<div id="app-5">
<button v-on:[eventname]="reverseMessage">动态事件名</button>
</div>
var app5 = new Vue({
el: '#app-5',
data: {
eventname:'focus'
},
methods: {
reverseMessage: function () {
。。。。。。
}
}
})
当 值为'focus' v-on:[enentname]等价 v-on:focus
包括(v-bind 和 v-on 的动态参数 )
动态事件参数注意点:
1.非字符串类型都会触发警告
2.语法约束空格引号无效并且回避大小写
3.计算属性复杂的表达式也会无效
例:
<a v-bind:['foo' + bar]="value"> ... </a> //触发警告
<a v-bind:[someAttr]="value"> ... </a> //流浪器特效强制转小写
这个是官网的事例:我看到了一个reverse()的方法 以前没用过所以做一下记录~
var vm = new Vue({
date:{
message="abcdefg"
}
)}
//split(' ')分裂,也就是把一个数据拆分
message.split(' ') == [ "a", "b", "c", "d", "e", "f", "g"]
//reverse( )翻转,把数据反过来 !只对数组有效
message.split(' ').reverse() == ['g', "f", "e".......]
//join(' ')重组,把数组合成一个字符串
//把数据反过来重组
message.split(' ').reverse( ).join(' ')
6.v-model
<template>
<div class="hello">
<input type="text" v-model="msg" />
<p>{{msg}}</p>
</div>
</template> <script>
export default {
name: "HelloWorld",
data() {
return {
msg: "vue 双向绑定"
};
}
};
</script>
v-model的修饰符,一起记录一下
(1) .lazy 会转变为在 change 事件中同步 , 也就是在失去焦点 或者 按下回车键时才更新**
vue 学习 渲染、v-指令的更多相关文章
- vue学习04 v-on指令
vue学习04 v-on指令 v-on的作用是为元素绑定事件,比如click单击,dbclick双击 v-on指令可简写为@ 代码测试 <!DOCTYPE html> <html l ...
- vue学习06 v-show指令
目录 vue学习06 v-show指令 v-show指令是:根据真假切换元素的显示状态 原理是修改元素的display,实现显示隐藏 指令后面的内容,最终都会解析为布尔值(true和false) 练习 ...
- vue学习08 v-bind指令
目录 vue学习08 v-bind指令 v-bind指令的作用是为元素绑定属性 完整写法是v-bind:属性名,可简写为:属性名 练习代码为: 运行效果为: vue学习08 v-bind指令 v-bi ...
- VUE 学习笔记 一 指令
1.声明式渲染 v-bind 特性被称为指令.指令带有前缀 v-,以表示它们是 Vue 提供的特殊特性 <div id='app'> <span v-bind:title=" ...
- vue 学习八 自定义指令
vue指令注册有两种方式 1 全局注册 在main.js中 使用vue.directive Vue.directive('alert_w', { inserted(el,bin,vn) { conso ...
- vue学习(十二) 指令v-if v-show 控制页面标签的显示与隐藏
//html <div id="app"> <input type="button" value="toggle" @cl ...
- vue学习(三) v-bind指令
//html <div id="app"> <input type="button" value="ok" v-bind: ...
- 17.VUE学习之- v-for指令的使用方法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- vue学习03 v-html
vue学习03v-html v-html指令的作用是:设置元素的内部html链接 内容有html 的结构会被解析为标签 v-text指令无论内容是什么,只会解析文本 解析文本使用v-text,需要解析 ...
随机推荐
- Spring Cloud ---- 服务注册与发现(Eureka 找到了!找到了! 嘻嘻)
记录一下吧,为什么接触分布式.因为裸辞之后没有找到工作,好的公司都要求有分布式经验,但是我完全没有.在一次面试的时候,面试官说如果你会分布式架构的话,我可以把工资给你开高2.5,我就考虑着给我点时间, ...
- .NET 任务调度 ,基于Quartz.Net
本文中使用的为 Quartz Enterprise Scheduler .NET,版本为 3.0.8 . 架构拓扑图如下: 集群需要配置: #是否集群 true falsequartz.jobStor ...
- day29作业
作业 写一个基于TCP协议套接字,服务端实现接收客户端的连接并发. 基于多线程实现 # server.py import socket from threading import Thread def ...
- class定义类 及 实现继承
class 定义类 代码如下: class Student { constructor(name) { this.name = name; } sayHello() { console.log(&qu ...
- vsftpd超实用技巧详解
简介: vsftpd是"very secure FTP daemon"的缩写,是一个完全免费的.开放源代码的ftp服务器软件. 工作原理: vsftpd使用ftp协议,该协议属于应 ...
- 手撕公司SSO登陆原理
Single Sign-on SSO是老生常谈的话题了,但部分同学对SSO可能掌握的也是云里雾里,一知半解.本次手撕公司的SSO登陆原理,试图以一种简单,流畅的形式为你提供 有用的SSO登陆原理. 按 ...
- python uiautomator,比 appium 更简单的 app 测试工具
1,场景 在 app 测试的蛮荒时代,如果要进行 app 自动化测试非常麻烦.张大胖如果想做安卓自动化测试,首先必须要学 Java.因为安卓自动化测试都绕不开 google 自己研发的自动化测试框架, ...
- 【Java】Windows配置Java环境变量
一.配置环境变量 1.新建系统变量 JAVA_HOME和CLASSPATH 变量名:JAVA_HOME 变量值:D:\jdk\jdk1.7.0_80 变量名:CLASSPATH 变量值:.;%JAVA ...
- Pandas 分组聚合
# 导入相关库 import numpy as np import pandas as pd 创建数据 index = pd.Index(data=["Tom", "Bo ...
- nginx篇最初级用法之SSL虚拟主机
注意:在源码安装nginx时必须要使用--with-http_ssl_module参数启动加密模块. openssl genrsa > cert.key //使用openssl自己签发私钥 o ...