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 事件中同步 , 也就是在失去焦点 或者 按下回车键时才更新**

  <input type="text" v-model.lazy="msg" />
 
 (2) .trim  去头尾空格
  <input type="text" v-model.trim="msg" />
 
 (3).number 将输入的值转化为Number类型 ,否则虽然你输入的是数字 但它的类型其实是String,在数字输入框中比较有用
  <input type="number" v-model.number="msg" />
  

vue 学习 渲染、v-指令的更多相关文章

  1. vue学习04 v-on指令

    vue学习04 v-on指令 v-on的作用是为元素绑定事件,比如click单击,dbclick双击 v-on指令可简写为@ 代码测试 <!DOCTYPE html> <html l ...

  2. vue学习06 v-show指令

    目录 vue学习06 v-show指令 v-show指令是:根据真假切换元素的显示状态 原理是修改元素的display,实现显示隐藏 指令后面的内容,最终都会解析为布尔值(true和false) 练习 ...

  3. vue学习08 v-bind指令

    目录 vue学习08 v-bind指令 v-bind指令的作用是为元素绑定属性 完整写法是v-bind:属性名,可简写为:属性名 练习代码为: 运行效果为: vue学习08 v-bind指令 v-bi ...

  4. VUE 学习笔记 一 指令

    1.声明式渲染 v-bind 特性被称为指令.指令带有前缀 v-,以表示它们是 Vue 提供的特殊特性 <div id='app'> <span v-bind:title=" ...

  5. vue 学习八 自定义指令

    vue指令注册有两种方式 1 全局注册 在main.js中 使用vue.directive Vue.directive('alert_w', { inserted(el,bin,vn) { conso ...

  6. vue学习(十二) 指令v-if v-show 控制页面标签的显示与隐藏

    //html <div id="app"> <input type="button" value="toggle" @cl ...

  7. vue学习(三) v-bind指令

    //html <div id="app"> <input type="button" value="ok" v-bind: ...

  8. 17.VUE学习之- v-for指令的使用方法

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. vue学习03 v-html

    vue学习03v-html v-html指令的作用是:设置元素的内部html链接 内容有html 的结构会被解析为标签 v-text指令无论内容是什么,只会解析文本 解析文本使用v-text,需要解析 ...

随机推荐

  1. LeetCode 2: single-number II

    Given an array of integers, every element appears three times except for one. Find that single one. ...

  2. fenby C语言 P15

    while(条件表达式){循环体} #include <stdio.h> int main(){ int i=1,sum=0; while(i<6) { sum=sum+i*3; i ...

  3. else 的特殊用法和三目运算

    1,eval() 获取原始数据类型 例1: str = " a = eval(str) print(a,type(a)) a得到的结果是整型10,不是字符串10 例2: str1 = &qu ...

  4. java常用类String

    String: String类: 代表字符串 是一个final类,代表不可变的字符序列 字符串是常量,用双引号引起来表示.值在创建后不可更改 String对象的字符内容是存储在一个字符数组Value[ ...

  5. Kali Linux——迈向网络攻防

    自从进入大三的课程后,在已学的高数.线代.数论.概率论.信息论.通信等知识的技术上,开始了网络信息安全.网      络攻防的学习.俗话说得好,磨刀不误砍柴工,开始网络攻防之旅也势必要一个好的工具.然 ...

  6. 清华大学教学内核ucore学习系列(1) bootloader

    ucore是清华大学操作系统课程的实验内核,也是一个开源项目,是不可多得的非常好的操作系统学习资源 https://github.com/chyyuu/ucore_lab.git, 各位同学可以使用g ...

  7. CSPS模拟测试59

    这场考得我心态爆炸......... 开场T1只会$n^{2}$,然后发现bfs时每个点只需要被更新一次,其他的更新都是没用的. 也就是说,我们可以只更新还没被更新的点? 于是我先YY了一个链表,发现 ...

  8. 星空 题意转化,差分,状压DP

    好题(爆搜和puts("2")一个分(雾)),不得不说思维真的强. 首先发现区间翻转很难受,考虑用差分(异或满足可逆性),注意是从0到n+1 然后就转化题意,操作改为选取距离为L的 ...

  9. 手写jwt验证,实现java和node无缝切换

    前言 前端时间和我朋友写了一个简易用户管理后台,功能其实很简单,涉及到的技术栈有:vue+elementUI,java+spring MVC以及node+egg,数据库用的mysql,简单方便. 一开 ...

  10. netty服务端的创建

    服务端的创建 示例代码 netty源码中有一个netty-example项目,不妨以经典的EchoServer作为楔子. // 步骤1 EventLoopGroup bossGroup = new N ...