Vue.js 指南-基础
Installation
可以使用的方式:
script标签方式加载vue.js- cdn
https://unpkg.com/vue@2.0.5/dist/vue.js - npm
Introduction
- 通过指定的语法渲染js变量
- DOM元素与变量绑定,同步更新,无需手动操纵DOM
- 通过
vue标签属性,完成绑定data,绑定事件,条件语句以及循环等特性 - 创建自定义可复用的组件,可直接在html标签中使用
The Vue Instance
Vue构造方法创建实例,并且可以扩展构造方法创建可重用的组件(继承?)- 每一个
Vue实例都代理了data参数中所有的属性,并且如果在Vue对象实例化之前你的自定义变量绑定到了data中,那么他们的值是时刻同步的 - 每个
Vue对象在实例化的过程中,经历了一系列的过程,就是有它的生命周期
Template Syntax
Vue使用基于HTML的语法,允许你将渲染到DOM中元素与Vue实例中的data数据绑定Vue把模板数据编译到虚拟DOM的渲染方法中,根据app不同的状态,实现最少量的组件的重新渲染- {{}}法上可以渲染文本、可以支持javascript表达式,可以通过管道实现过滤
Computed Properties and Watchers
- {{}}语法中可以使用js表达式,但是并不推荐,不易于维护,不利于调试,引入 computed属性,compulted属性依赖于现有的属性,只要依赖值没变,其值不变,页面中多处使用可以直接返回计算好的值,与之对应的用方法实现,每次都要执行一遍
- 对于数据和页面的rective,compluted可以满足大多数情形,当你需要完成异步并且有大量的数据计算响应等操作,可以使用
watch选项 - 总结:
compluuted与watch的目的都是监听Vue实例数据的变化,并作出响应
Class and Style Bindings
- 使用
Vue定义的属性v-bind:class可以进行样式类的绑定,支持丰富的格式,可以使用对象的方式在vuedata option中定义,可以使用数组传递多个类名,可以依赖于现有的data使用compluted属性,可以跟现有的html标签类混用等等 v-bind:style可直接绑定书写行内样式,支持对象方式、数组方式
Conditional Rendering
- 条件标签
v-if,v-show,可以做条件判断来进行html元素的显示 - 不同点在于
v-if根据值的变化每次重新渲染,v-show等价于display:show|none也就是元素是在页面中渲染好的
Event Handling
v-on标签绑定各种事件,可以做v-on:click="counter += 1"这种简单的处理,也可以调用Vue中方法(方法可将原生的DOM event通过$event传递)- 经常用到的阻止事件冒泡或阻止事件的默认行为在
Vue中可以与v-on搭配使用点语法.stop .prevent .capture .self来实现,不需要再去关心具体的DOM事件细节 - 针对键盘的
key值监听,Vue提供也提供了简单的绑定语法v-on:keyup.键值,也可使用vue提供的定义好的常用键值的别名
Form Input Bindings
v-model可以处理基本的用户输入(input)、复选框、单选框等的值赋值给v-model指定的变量- 仅仅使用
v-model只可以获取用户输入的字符串或者true false(单、富选框),可以使用v-bind将input的value与vue的属性绑定,这样可以动态的修改
Components
- 组件用来扩展现有的html标签并进行封装重用
- 使用自定义components需要在实例化Vue对象之前确保组件已经注册
- 除注册为全局组件之外,可以注册为某一个vue实例的本地组件
- 在页面中直接使用自定义组件时,浏览器会无法解析,需要使用
is=组件名 - 组件中的
data option必须为一个function,否则console 报 warnning - 组件复用不可避免的需要不同组件嵌套使用,涉及到数据的向下传递,
Vue通过props option传递【注:props在js中的驼峰命名在html中需要改为连字符】 - 对于组件需要接收的参数,Vue提供了参数验证
- 子组件与父组件的通信是通过
customer events即自定义事件 v-on:事件名来监听子组件可能触发的事件v-on:click.native=""同样可以监听原生的JavaScript事件- 非父子关系的组件也可以通过
hook的方式完成通讯
Vue.js 指南-基础的更多相关文章
- Vue.js应用基础
声明 这篇博文是我的Vue学习记录,其中参杂了不少我个人的理解,由于我并没有继续学习Vue的源码,所以不能保证这些理解都是正确的.如果这篇博文有幸被你读到,请带着批判的心情去审视它. 如果你发现了其中 ...
- Vue.js的基础学习
Vue.js的基础网上很多,这里不记录 开始正式页面的开发 1.页面加载时请求数据 methods: { post() { //发送post请求 this.$http.post('../../ashx ...
- Vue.js教程--基础(实例 模版语法template computed, watch v-if, v-show v-for, 一个组件的v-for.)
官网:https://cn.vuejs.org/v2/guide/index.html Vue.js 的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进 DOM 的系统. 视频教程:https: ...
- Vue.JS学习基础
= 导航 顶部 vue.js介绍 vue.js实例 模板语法 计算属性 样式绑定 条件渲染 列表渲染 事件处理器 表单控件绑定 组件 顶部 vue.js介绍 vue.js实例 模板语法 计 ...
- Vue.js教程--基础2(事件处理 表单输入绑定
事件处理 表单输入绑定 事件处理 监听v-on 监听 DOM 事件,并在触发时运行一些 JavaScript 代码. 可以在v-on:click=''加内联语句. 有时也需要在内联语句处理器中访问原始 ...
- vue.js的基础与语法
Vue的实例 创建第一个实例: {{}} 被称之为插值表达式.可以用来进行文本插值. <!DOCTYPE html> <html lang="en"> &l ...
- Vue.js 基础指令实例讲解(各种数据绑定、表单渲染大总结)——新手入门、高手进阶
Vue.js 是一套构建用户界面的渐进式框架.他自身不是一个全能框架--只聚焦于视图层.因此它非常容易学习,非常容易与其它库或已有项目整合.在与相关工具和支持库一起使用时,Vue.js 也能完美地驱动 ...
- Vue.js 基础快速入门
Vue.js是一个JavaScript MVVM库,它是以数据驱动和组件化的思想构建的.Vue.js提供了简洁.易于理解的API,使得我们能够快速地上手并使用Vue.js 如果之前已经习惯了用jQue ...
- Vue.js——60分钟快速入门
Vue.js介绍 Vue.js是当下很火的一个JavaScript MVVM库,它是以数据驱动和组件化的思想构建的.相比于Angular.js,Vue.js提供了更加简洁.更易于理解的API,使得我们 ...
随机推荐
- Android开发(21)--有关Spinner控件的使用说明
下拉列表 Spinner,Spinner是一个每次只能选择所有项的一个项的控件.它的项来自于与之相关联的适配器中. Spinner的使用,可以极大提高用户的体验性.当需要用户选择的时候,可以提供一个下 ...
- Android RecyclerView完全解析
RecyclerView完全解析 (一) 前言 话说RecyclerView已经面市很久,也在很多应用中得到广泛的使用,在整个开发者圈子里面也拥有很不错的口碑,那说明RecyclerView拥有比Li ...
- MySQL SET TRANSACTION 设置事务隔离级别
1. 首先说一下autocommit 默认情况下autocommit的开关是打开的,也就是ON,查看方法 方法1. select @@[global/session].autocommit; 方法2. ...
- JVM内存模型及垃圾收集策略解析(一)
JVM内存模型是Java的核心技术之一,之前51CTO曾为大家介绍过JVM分代垃圾回收策略的基础概念,现在很多编程语言都引入了类似Java JVM的内存模型和垃圾收集器的机制,下面我们将主要针对Jav ...
- 关于.NET异常处理的思考(上)
年关将至,对于大部分程序员来说,马上就可以闲下来一段时间了,然而在这个闲暇的时间里,唯有争论哪门语言更好可以消磨时光,估计最近会有很多关于java与.net的博文出现,我表示要作为一个吃瓜群众,静 ...
- 如何发布一个自定义Node.js模块到NPM(详细步骤)
咱们闲话不多说,直接开始! 由于我从没有使用过MAC,所以我不保证本文中介绍的操作与MAC一致. 文章开始我先假定各位已经在window全局安装了Node.js,下面开始进行详细步骤介绍: 本文本着, ...
- Oracle 11G R2 在windows server 2008 64位安装时提示:无法在windows "开始"菜单或桌面上创建项
错误代码及解释: 在windows server 2008 64 位操作系统中安装 oracle 11G R2 64位 版本时提示:无法在windows "开始"菜单或桌面上创建 ...
- Android studio使用smack连接xmpp服务器收发消息
我使用的是ejabberd16.09的Linux版本,安装教程网上有很多,我在这里只介绍一下Android端连接.登录和收发消息的方法.文章最后附上了我写的一个demo,欢迎大家参考. ejabber ...
- gridcontrol datatemplate trigger
<TextBlock Name="textBlock" HorizontalAlignment="Left" Text="{Binding Va ...
- lua中的面向对象编程
简单说说Lua中的面向对象 Lua中的table就是一种对象,看以下一段简单的代码: 上述代码会输出tb1 ~= tb2.说明两个具有相同值得对象是两个不同的对象,同时在Lua中table是引用类型的 ...