VUE 之 JS指令
1、v-text的用法:

2、v-html

3、v-for

4、v-if , v-else if ,v-else

v-if 每次生成都只有一个标签,即符合条件的标签。
5、v-show

v-show 和 v- if 的区别:
切换性能:
v-show更快一些,因为它不需要频繁的去通过判断条件去生成某一个标签,而是通过display:none来切换。
v-if 是通过append来切换。
加载性能:
v-show更慢一些。因为不符合条件的只是隐藏了,但是还需要加载,如果有10条数据,有一条符合条件,那么10条都加载,9条隐藏
v-if 加载快。因为v-if 是判断符不符合条件,如果符合条件,只加载符合条件的。
6、v-bind,绑定的是属性。v-bind可以简写成一个:

7、v-on,绑定的是事件,可以简写@

8、v-model,进行双向数据绑定


9、计算和侦听
<div id="app">
{{name}}
<hr>
{{hobby}}
<hr>
{{obj}} <button @click="my_click">点我改变数据</button>
</div>
<script>
const app = new Vue({
el: "#app",
data: {
name: "juyingying",
hobby: ["抽烟", "喝酒", "烫头"],
obj: {
age: 32,
face: null,
}
},
methods: {
my_click: function () {
// 改变数据
// this.name = "juying"
// 改变数组的长度
// 改变数组长度能够被监听到 新值和旧值相同
// this.hobby.push("把手拿上来");
// 改变数组中的值 不能被监听到 深度监听也不可以
// this.hobby[0] = "抽二手烟";
// console.log(this.hobby);
// 用$set修改数组中的数组能够被监听
app.$set(this.hobby, 0, "抽二手烟"); }
},
watch: {
name: {
handler: function (val, oldVal) {
console.log(val);
console.log(oldVal)
}
},
hobby: {
handler: function (val, oldVal) {
console.log(val);
console.log(oldVal);
},
// deep: true
}
watch在监听字符串的时候,能够监听到且能被渲染到页面上。
watch在监听数组的时候,有两种情况:
1---如果数组改变的是长度,比如添加了一个值或者删除了一个值,此时是能够被监听到的,但是不能监听到新旧值的变化,只能监听到变化后的值。所以打印新旧值的时候,结果一样。
2---如果数组修改的是内部的值,是无法被监听的,虽然再打印的时候能够看到结果变了,但是页面上无法被渲染出来。深度监听也不行。
原因:
是因为数组在被监听的时候只能被监听一层。数组中有字符串,相当于两层,所以无法被监听的。
解决办法:
用根实例.$set(要改变的数据,index(索引),vlaue(要改成的结果))
<table border="">
<thead>
<tr>
<th>学科</th>
<th>成绩</th>
</tr>
</thead>
<tbody>
<tr>
<td>python</td>
<td>
<input type="text" v-model.number="python"> # 因为input 框输入进来的是字符串,所以在v-model.number就可以将输入进来的值转换成数字
</td>
</tr>
<tr>
<td>go</td>
<td>
<input type="text" v-model.number.lazy="go"> # v-model 是用于双向数据绑定的,input框中有变化,后端跟着变化。如果加了lazy之后,只有当失去焦点的时候才会改变
</td>
</tr>
<tr>
<td>总成绩</td>
<td>{{sumScore}}</td>
</tr>
</tbody>
</table>
<hr>
{{python}}
</div>
<script>
new Vue({
el:"#he",
data:{
python:100,
go:80
},
computed:{ # computed 是用来计算的
sumScore:function () {
return this.python+this.go
}
},
watch:{ # watch 是用来监听data中的数据发生变化的
python:function () {
alert(this.python)
}
}
})
10、修饰符
number 将输入的值变成数字
lazy: 失去焦点的时候才返回结果
trim:去掉两边的空格
11、获取DOM元素

VUE 之 JS指令的更多相关文章
- vue.js指令总结
1.v-html 用于输出真正html,而不是纯文本. 2.v-text 输出纯文本. <!DOCTYPE html> <html lang="en"> & ...
- vue.js指令v-model实现方法
原文链接:http://www.jb51.net/article/99097.htm V-MODEL 是VUE 的一个指令,在input 控件上使用时,可以实现双向绑定. 通过看文档,发现他不过是一个 ...
- 第3章-Vue.js 指令扩展 和 todoList练习
一.学习目标 了解Vue.js指令的实现原理 理解v-model指令的高级用法 能够使用Vue.js 指令完成 todoList 练习(重点+难点) 二.todoList练习效果展示 2.1.效果图展 ...
- 第2章-Vue.js指令
一.学习目标 了解 什么 是 Vue.js 指令 理解 Vue.js 指令的 用途 掌握 Vue.js 指令的书写规范 能够 使用 Vue.js 指令完成部门页面交互效果(难点和重点) 二.指令的基本 ...
- (day65、66)Vue基础、指令、实例成员、JS函数this补充、冒泡排序
目录 一.Vue基础 (一)什么是Vue (二)为什么学习Vue (三)如何使用Vue 二.Vue指令 (一)文本指令 (二)事件指令v-on (三)属性指令v-bind (四)表单指令v-model ...
- Vue专题-js常用指令
vue.js官方给自己的定为是数据模板引擎,并给出了一套渲染数据的指令.本文详细介绍了vue.js的常用指令. vue.js常用指令 Vue.js使用方式及文本插值 Vue.js 使用了基于 HTML ...
- Vue.directive 自定义指令的问题
1.今天复习一下Vue自定义指令的代码,结果出现一个很无语的结果,先贴代码. 2. <div id="example" v-change-by="myColor&q ...
- vue 通过自定义指令实现 置顶操作;
项目需求:要求当前项目每个页面滑到超出一屏的距离时,出现 backTop 按钮,点击则回到最顶端:俗称置顶操作: 因为涉及到的页面较多,每个页面都加肯定显得重复累赘,最终想到了 Vue 的自定义指令 ...
- Vue基础01vue的基本示例,vue的双向数据绑定,vue中常见的几种用法,vue相关常见指令
自学vue框架,每天记录重要的知识点,与大家分享!有不足之处,希望大家指正. 本篇将讲述:vue的基本示例,vue的双向数据绑定,vue中常见的几种用法,vue相关常见指令 前期学习基础,使用vue. ...
随机推荐
- HackerRank# Candies
原题地址 LeetCode上也有这道题,直接扫一遍就行了,连数组都不用开,感觉像是蕴含了某种动归的思想在里面,要不怎么是个动归题呢 代码: #include <cmath> #includ ...
- Hibrenate load 和 get
这次我们来谈一下Hibernate3.2 Session加载数据时get和load方法的区别(Hibernate 3以后的版本就用get()方法取代find()这个方法了),其实这个在网上有很多的论述 ...
- 模拟用户登录-SpringMVC+Spring+Mybatis整合小案例
1. 导入相关jar包 ant-1.9.6.jarant-launcher-1.9.6.jaraopalliance.jarasm-5.1.jarasm-5.2.jaraspectj-weaver.j ...
- (12)java -IDEA使用
一. 引入jar包 1. 2.
- 顿悟:Linux是拿来用的,不是拿来折腾的
Linux是拿来用的,而不是折腾其本身.相信这个道理不少聪明人(实用主义者)都明白,然而总是有那么一群人拿Linux去安装各种发行版.研究Linux命令.配置桌面.美化桌面.研究各种wm/DE.永无止 ...
- MFC中的几种播放声音的方法
一.播放声音文件的简单方法 在VC++ 中的多媒体动态连接库中提供了一组与音频设备有关的函数.利用这些函数可以方便地播放声音.最简单的播放声音方法就是直接调用VC++中提供的声音播放函 数BOOL s ...
- IO 函数
http://www.cnblogs.com/orange1438/p/4613460.html
- Java抓屏程序代码
原文:http://www.open-open.com/code/view/1422262655200 import java.awt.Dimension; import java.awt.Recta ...
- 【面试 struts2】【第三篇】struts2的问题
1.struts2的工作流程 1>客户端浏览器发出HTTP请求. 2>根据web.xml配置,该请求被FilterDispatcher接收 3>根据struts.xml配置,找到需要 ...
- android中MVC,MVP和MVVM三种模式详解析
我们都知道,Android本身就采用了MVC模式,model层数据源层我们就不说了,至于view层即通过xml来体现,而 controller层的角色一般是由activity来担当的.虽然我们项目用到 ...