此篇文章是本人在学习Vue是做的部分笔记的一个整理,内容不是很全面,希望能对阅读文章的同学有点帮助。

什么是Vue?

Vue.js (读音 /vjuː/,类似于 view)
是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue
采用自底向上增量开发的设计。Vue 的核心库只关注视图层,它不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与单文件组件和 Vue
生态系统支持的库
结合使用时,Vue 也完全能够为复杂的单页应用程序提供驱动。

学习Vue需要掌握HTML、CSS 和 JavaScript 中级前端知识,如果是前端初学者不建议学习Vue。

安装与语法

安装

Vue的安装有多种方法,具体安装参考官方文档Vue安装选项
本文中的示例采用最简单的的一种安装方式,即在html文件中直接引入。代码如下:
<script src="https://unpkg.com/vue"></script>

声明式渲染

Vue.js 的核心是一个允许采用简洁的模板语法来声明式的将数据渲染进 DOM 的系统:
<div id = "root">{{message}}</div>
new Vue({
el:'#root',
data:{
message:'Hello World!'
}
})

指令

几个常用的vue指令
  • v-bind
  • v-if  v-else-if v-else
  • v-for
  • v-on
  • v-model
  • v-html
下面通过代码简单了解
html代码:
<div id = "root">

	<div v-bind:title="message">{{message}}</div>

	<!--v-for遍历数组或对象,value为值,index是下标-->
<ul>
<li v-for="(value,index) in courseList">{{index}}/{{value}}</li>
</ul> <!--v-if 判断语句,值如果为false,删除dom节点-->
<div v-if="isShow">{{hideInfo}}</div> <!--v-on 绑定事件-->
<button v-on:click="showFunc">{{btnInfo}}</button> <!--v-model 实现表单输入和应用状态之间的双向绑定-->
<input type="text" v-model="username"/>{{username}} <!--为元素设置html-->
<div v-html="username"></div> </div>

js代码:

new Vue({
el:'#root',
data:{
message:'Hello Vue!',
isShow:true,
hideInfo:"我是一个隐藏的块",
btnInfo:'显示隐藏',
courseList:[
'yiyiyi',
'ererer',
'sansansan'
],
username:'cheng'
},
methods:{
showFunc:function(){
this.isShow = !this.isShow;
}
}
})

网页显示结果




此时通过点击按钮是可以控制按钮上方块的显示隐藏的。
v-model实现实现表单输入和应用状态之间的双向绑定。
在input中输入值,所有应用了username的元素,都会发生变化。如下图:

v-if vs v-show

与元素的显示隐藏相关的指令还有v-show。v-show和v-if的显示隐藏是不同的。
v-show是隐藏元素 为元素添加display:none,保留dom节点;而v-if的通过false隐藏是删除dom节点。

那什么时候用v-if,什么时候用v-show呢?

官方给了建议

v-if 是“真正”的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建。

v-if 也是惰性的:如果在初始渲染时条件为假,则什么也不做——直到条件第一次变为真时,才会开始渲染条件块。

相比之下,v-show 就简单得多——不管初始条件是什么,元素总是会被渲染,并且只是简单地基于 CSS 进行切换。

一般来说,v-if 有更高的切换开销,而 v-show 有更高的初始渲染开销。因此,如果需要非常频繁地切换,则使用 v-show 较好;如果在运行时条件很少改变,则使用 v-if 较好。

component模板

这个功能很强大,可以自定义html模板。
直接看代码:
<div id = "root">

	<div>
<my-component></my-component>
<my-component></my-component>
<my-component></my-component>
<my-component></my-component>
<my-component></my-component>
</div> </div>
Vue.component('my-component',{
template:'<div>Hello</div>'
})

结果


这篇文章就先整理到这里,后续还会发布我的Vue的笔记。




Vue学习笔记-Vue基础入门的更多相关文章

  1. Vue学习笔记-Vue.js-2.X 学习(二)===>组件化开发

    ===重点重点开始 ========================== (三) 组件化开发 1.创建组件构造器: Vue.extends() 2.注册组件: Vue.component() 3.使用 ...

  2. Vue学习笔记-Vue.js-2.X 学习(一)===>基本知识学习

    一  使用环境: windows 7 64位操作系统 二  IDE:VSCode/PyCharm 三  Vue.js官网: https://cn.vuejs.org/ 四  下载安装引用 方式1:直接 ...

  3. Vue学习笔记-Vue.js-2.X 学习(六)===>脚手架Vue-CLI(项目说明-Babel)

    五  Vue学习-vue-cli脚手架学习(创建只选一个选项:Babel) 1. 项目目录说明 node_modules : 包管理文件夹 public : 静态资源 src : 源代码 gitign ...

  4. Vue学习笔记-Vue.js-2.X 学习(五)===>脚手架Vue-CLI(PyCharm)

    Vue项目在pycharm中配置 退出运行: ctrl+c Vue学习笔记-Vue.js-2.X 学习(六)===>脚手架Vue-CLI(项目说明)

  5. Vue学习笔记-Vue.js-2.X 学习(四)===>脚手架Vue-CLI(基本工作和创建)

    (五) 脚手架Vue-CLI 一 Vue-CLI前提(nodejs和webpack) 二  Vue学习-nodejs按装配置,Node.js 就是运行在服务端的 JavaScript. 1. 去nod ...

  6. Vue学习笔记-Vue.js-2.X 学习(三)===>组件化高级

    (四) 组件化高级 1.插槽(slot)的基本使用 A:基本使用: <slot></slot> B:默认置:<slot><h1>中间可以放默认值< ...

  7. Vue 学习笔记之快速入门篇

    Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.Vue 的核心库只关注视图层,不仅易于上手,还便于与 ...

  8. Vue学习笔记:基础

    Vue实例 每个 Vue 应用都是通过用 Vue 函数创建一个新的 Vue 实例开始的 插值 数据绑定最常见的形式就是使用“Mustache”语法(双大括号)的文本插值 指令 指令的定义:Direct ...

  9. Vue学习笔记-Vue.js-2.X 学习(七)===>脚手架Vue-CLI(路由Router)

    脚手架Vue-CLI(路由Router) 一 按装(通过新创建脚手架按装),如果在原来的脚手架上按装直接进图型化界面vue ui的插件按装. 二 使用(上面按装下面步骤自动会生成) 第一步:导入路由对 ...

随机推荐

  1. [js插件开发教程]一步步开发一个可以定制配置的隔行变色小插件

    隔行变色功能,不用js,直接用css伪类就可以做,这个实例可以作为js插件开发很好的入门级实例.本文实现的隔行变色包括以下功能: 1,支持2种常用结构共存( div元素 和 表格类型 ) 2,一个页面 ...

  2. Asp.Net MVC4 系列--进阶篇之路由 (2)

    上一篇介绍了Asp.Net MVC 中,从Http Pipeline上接收到请求如何匹配,匹配限制,以及如何控制在指定命名空间查找,解析出controller和action,并传参. 这篇主要介绍如何 ...

  3. springboot高并发redis细粒度加锁(key粒度加锁)

    本文探讨在web开发中如何解决并发访问带来的数据同步问题. 1.需求: 通过REST接口请求并发访问redis,例如:将key=fusor:${order_id} 中的值+1: 2.场景: 设想,多线 ...

  4. checkValidity-表达验证方法。

    调用该方法,可以显示对表单元素进行有效验证,返回值是boolean. 代码如下: <!DOCTYPE html> <html> <head> <meta ch ...

  5. WPF 如何画出1像素的线

    如何有人告诉你,请你画出1像素的线,是不是觉得很简单,实际上在 WPF 上还是比较难的. 本文告诉大家,如何让画出的线不模糊 画出线的第一个方法,创建一个 Canvas ,添加一个线 界面代码 < ...

  6. Hadoop(十二)MapReduce概述

    前言 前面以前把关于HDFS集群的所有知识给讲解完了,接下来给大家分享的是MapReduce这个Hadoop的并行计算框架. 一.背景 1)爆炸性增长的Web规模数据量 2)超大的计算量/计算复杂度 ...

  7. Numpy的小总结

    1.Numpy是什么? numpy是Python的一个科学计算库,提供矩阵运算的功能. 1.1Numpy的导入 import numpy as np #一般都是用numpy的别名来进行操作 1.2Nu ...

  8. LINUX 笔记-netstat命令

    netstat命令用于显示与IP.TCP.UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况.netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP ...

  9. PhiloGL学习(4)——三维对象、加载皮肤

    前言 上一篇文章中介绍了如何响应鼠标和键盘事件,本文介绍如何加载三维对象并实现给三维对象添加一个漂亮的皮肤. 一. 原理分析 我对三维的理解为:所谓三维对象无非是多个二维对象拼接到一起,贴图就更简单了 ...

  10. A strange lift

    Problem Description There is a strange lift.The lift can stop can at every floor as you want, and th ...