一、实例中的成员

二、高级指令

三、组件初识

一、实例中的成员

# 计算computed

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>computed</title>
</head>
<body>
<div id="app">
姓<input type="text" v-model="first_name">
<hr>
名<input type="text" v-model="last_name">
<hr>
<p>{{ first_name + " " + last_name }}</p>
<p>{{ full_name_fn() }}</p>
<!-- 一个变量的值依赖于多个变量的值 -->
<p>{{ full_name }}</p>
</div>
</body>
<script src="js/vue.js"></script>
<script>
new Vue({
el: "#app",
data: {
first_name: "",
last_name: "",
},
methods: {
// 声明的是函数, 该函数必须手动调用
full_name_fn: function () {
return this.first_name + " " + this.last_name
}
},
computed: {
// 声明变量full_name, 该变量的值等于后方函数的返回值
// 函数中包含的所有vue变量值只要有发生变化的系统就会调用该函数
full_name: function () {
return this.first_name + " " + this.last_name
}
}
})
</script> </html>

# watch监听

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>computed</title>
</head>
<body>
<div id="app">
姓名<input type="text" v-model="full_name">
<hr>
<p>{{ first_name }}</p>
<hr>
<p>{{ last_name }}</p>
</div>
</body>
<script src="js/vue.js"></script>
<script>
new Vue({
el: "#app",
data: {
full_name:"",
first_name:"",
last_name:"",
},
watch:{
// watch只是对已有的变量进行值变化的监听,一旦发现值变化,系统自动回调监听变量后的函数
// 后方函数和前方变量只有数据变化的监听绑定关系,没有值相关的联系
full_name: function () {
arr = this.full_name.split(" ");
this.first_name = arr[0];
this.last_name = arr[1];
}
} })
</script> </html>

二、高级指令

# 条件指令渲染

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>computed</title>
<style>
.wrap{
width: 300px;
}
.box{
width: 100px;
height: 100px;
} .red{
background-color: red;
float: left;
} .orange{
background-color: orange;
float:right;
}
</style>
</head>
<body>
<div id="app">
<button @click="rAction">red切换</button>
<button @click="oAction">orange切换</button>
<div class="wrap">
<!--v-if 值为false时,不会被渲染-->
<!--了解:key由vue控制的属性key值需要唯一标识,因为key的值就是vue对该组件对内在中建立缓存的可以-->
<div class="box red" v-if="r_show" :key="key"></div>
<!--v-show 值为false时,以display:none被渲染-->
<div class="box orange" v-show="o_show"></div>
</div>
</div>
</body>
<script src="js/vue.js"></script>
<script>
new Vue({
el: "#app",
data: {
r_show:true,
o_show:true,
}, methods:{
rAction:function () {
this.r_show = !this.r_show
},
oAction:function () {
this.o_show = !this.o_show
}
}
})
</script> </html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>computed</title>
<style>
.box{
height:100px;
}
.r{background-color: red}
.y{background-color: yellow}
.b{background-color: blue} </style>
</head>
<body>
<div id="app">
<ul>
<li @click="rfn">红</li>
<li @click="yfn">黄</li>
<li @click="bfn">蓝</li>
</ul>
<div class="box r" v-if="tag==0" ></div>
<div class="box y" v-else-if="tag==1"></div>
<div class="box b" v-else></div>
</div>
</body>
<script src="js/vue.js"></script>
<script>
new Vue({
el: "#app",
data: {
tag:0
}, methods:{
rfn:function () {
this.tag = 0
},
yfn:function () {
this.tag = 1
},
bfn:function () {
this.tag = 2
},
}
})
</script> </html>

条件指令案例

#循环指令渲染

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>computed</title>
</head>
<body>
<div id="app">
<ul>
<li>{{ ls[0] }}</li>
<li>{{ ls[1] }}</li>
<li>{{ ls[2] }}</li>
<li>{{ ls[3] }}</li>
<li>{{ ls[4] }}</li>
</ul>
<ul>
<li v-for="(ele,index) in ls">{{ ele }} {{ index }}</li>
</ul>
<ul>
<li v-for="(value,key,index) in dic">{{ key }} {{ value }} {{ index }}</li>
</ul>
</div>
</body>
<script src="js/vue.js"></script>
<script>
new Vue({
el: "#app",
data: {
ls: ['张三', '李四', '王五', '赵六', '钱七'],
dic:{
name:'Richard.wu',
age:31,
gender:'man'
}
}, })
</script> </html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>computed</title>
</head>
<body>
<div id="app">
<form action="">
<input type="text" v-model="msg">
<button type="button" @click="fn">留言</button>
</form>
<ul>
<li v-for="(m,i) in msgs" @click="deleteAction(i)">{{ m }}</li>
</ul>
</div>
</body>
<script src="js/vue.js"></script>
<script>
new Vue({
el: "#app",
data: {
msg:"",
msgs:["初始留言"]
},
methods:{
fn:function(){
if(this.msg){
// this.msgs.push(this.msg)//在后添加
this.msgs.unshift(this.msg);//在前添加
this.msg="";
}
},
deleteAction:function(index){
console.log(index);
// 从什么索引开始,操作多少位,操作什么
this.msgs.splice(index,1)
}
} })
</script> </html>

循环指令渲染案例

三、组件初识

# 组件初识

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>computed</title>
</head>
<body>
<div id="app">
{{ msg }}
</div>
</body>
<script src="js/vue.js"></script>
<script>
//每个组件均有自身的模板tempalate,根组件的模板就是挂载点
new Vue({
//根组件一定需要挂载点(否则无法渲染到页面中),一般情况下,根组件template就取挂载点,不需要自定义
el: "#app",
data: {
msg:"信息"
},
//template就是组件的html架构
//每个组件模板只能拥有一个根标签
template:"<div><p>中午请客,师妹告诉我今晚不回去还想给我三个耳光,我当时就拒绝了,休想坑我第二顿</p></div>"
})
</script> </html>

# 局部组件

<body>
<div id="app">
<abc></abc>
<abc></abc>
<abc></abc>
</div>
<hr>
<div id="main">
<local-tag></local-tag>
<local-tag></local-tag>
</div>
</body>
<script src="js/vue.js"></script>
<script>
// 局部组件
var localTag = {
// 子组件的数据具有作用域,以达到组件的复用, 每一个复用的组件具有自身独立的一套数据
data: function () {
return { // 返回值是一个数据字典(一套数据)
count: 0
}
},
template: "<div @click='fn'>点击{{ count }}次</div>",
methods: {
fn: function () {
this.count += 1;
}
}
} // app根组件
new Vue({
el: "#app",
// 注册
components: {
'abc': localTag
}
})
// main根组件
new Vue({
el: "#main",
components: {
// localTag
'local-tag': localTag
}
})
</script>

Vue介绍:vue导读2的更多相关文章

  1. Vue.js是什么,vue介绍

    Vue.js是什么,vue介绍 Vue.js 是什么Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用. ...

  2. Vue介绍:vue导读1

    一.什么是vue 二.如何在页面中使用vue 三.vue的挂载点 四.vue的基础指令 一.什么是vue 1.什么是vue vue.js十一个渐进式javascript框架 渐进式:vue从控制页面中 ...

  3. Vue01 Vue介绍、Vue使用、Vue实例的创建、数据绑定、Vue实例的生命周期、差值与表达式、指令与事件、语法糖

    1 Vue介绍 1.1 官方介绍 vue是一个简单小巧的渐进式的技术栈,它提供了Web开发中常用的高级功能:视图和数据的解耦.组件的服用.路由.状态管理.虚拟DOM 说明:简单小巧 -> 压缩后 ...

  4. vue.js 2.0 官方文档学习笔记 —— 01. vue 介绍

    这是我的vue.js 2.0的学习笔记,采取了将官方文档中的代码集中到一个文件的形式.目的是保存下来,方便自己查阅. !官方文档:https://cn.vuejs.org/v2/guide/ 01. ...

  5. Vue学习笔记之Vue介绍

    vue的作者叫尤雨溪,中国人.自认为很牛逼的人物,也是我的崇拜之神. 关于他本人的认知,希望大家读一下这篇关于他的文章,或许你会对语言,技术,产生浓厚的兴趣.https://mp.weixin.qq. ...

  6. vue——介绍和使用

    一.vue介绍 vue官网说:Vue.js(读音 /vjuː/,类似于 view) 是一套构建用户界面的渐进式的JavaScript框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计. ...

  7. Vue介绍以及模板语法-插值

    1.Vue的介绍 Vue是一套用于构建用户界面的渐进式框架. 注意:Vue是一个框架,相对于jq库来说,是由本质的区别的:https://cn.vuejs.org/ Vue不支持IE8及一下版本,因为 ...

  8. Vue小白篇 - Vue介绍

    Vue ?啥是Vue?能干嘛? vue 的介绍 Vue 是一套用于构建用户界面的 渐进式框架 ,与其它大型框架不同的是, Vue 被设计为可以自底向上逐层应用.Vue 的核心库只关注视图层 前端三大框 ...

  9. vue第四单元(初识vue-在页面中直接引入vue框架-学习使用vue语法-vue的指令-介绍data用法-methods用法)

    第四单元(初识vue-在页面中直接引入vue框架-学习使用vue语法-vue的指令-介绍data用法-methods用法) #课程目标 了解 vue 框架的特点 掌握创建 vue 实例 掌握 data ...

  10. 【Vue】Vue框架常用知识点 Vue的模板语法、计算属性与侦听器、条件渲染、列表渲染、Class与Style绑定介绍与基本的用法

    Vue框架常用知识点 文章目录 Vue框架常用知识点 知识点解释 第一个vue应用 模板语法 计算属性与侦听器 条件渲染.列表渲染.Class与Style绑定 知识点解释 vue框架知识体系 [1]基 ...

随机推荐

  1. laravel 自带消息notification通知

    原文地址:https://blog.csdn.net/zhangxh1013/article/details/53130490

  2. 【AMAD】django-compressor -- 将JS和CSS文件压缩为一个缓存文件

    简介 个人评分 简介 django-compressor1的example: {% load compress %} {% compress css %} <link rel="sty ...

  3. 类型限定符volatile

    目录 类型限定符volatile 强制内存读取 禁止编译优化 注意:volatile不能够保证线程同步 volatile bool flag; volatile int a; 添加volatile限定 ...

  4. [转帖]phoronix-test-suite 简介

    <工作杂记>之phoronix-test-suite 2017年10月30日 14:32:52 打雷下雨 阅读数 2078更多 分类专栏: # linux   版权声明:本文为博主原创文章 ...

  5. *#【Python】【基础知识】【运算符】【Python的几类运算符】

    Python的运算符分为以下几类: 算术运算符比较(关系)运算符赋值运算符逻辑运算符位运算符成员运算符身份运算符 以及需要考虑的:运算符优先级 一.算术运算符: 需要注意的,上图是Python 2.0 ...

  6. JAVA日常之四

    构造函数 又称“构建器”,函数名称与类名称完全相同,无返回值. 每个类都有构造函数. 可以自定义构造函数,并且可以创建多个重载/过载的构造函数. 若没有手动创建该函数,总会存在一个默认的构造函数(无参 ...

  7. Linux系列(15)之进程管理

    详细情况查看:https://www.cnblogs.com/dengyungao/p/8523628.html 1.查看进程 有两个命令可以查看进程,分别是ps与top(推荐使用),那他们有什么区别 ...

  8. 基本mysql语句

    一 select语句 基本语法 select 列名1,列名2             //可以使用完全限定的列名  tables.列名 form tables 过滤(where ) 分组(group ...

  9. celery(芹菜) 异步任务 定时任务 周期任务

    什么是celery Celery是一个简单.灵活且可靠的,处理大量消息的分布式系统 专注于实时处理的异步任务队列 同时也支持任务调度 celery架构 celery的架构由三部分组成,消息中间件(me ...

  10. 从入门到自闭之Python解释器安装

    Python解释器的安装 1 下载 ​ 下载地址:https://www.python.org 选择windows平台的链接进行下载 https://www.python.org/downloads/ ...