vue2.0.js
数据的渲染、数据同步 组件化、模块化 路由 ajax 数据流
Vue.js学习资源
中文官网:http://cn.vuejs.org/ 源码:http://github.com/vuejs/vue 官方工具:http://github.com/vuejs 官方论坛:http://forum.vuejs.org/
vue实例对象:
1.el:装载在页面的位置 2.template:html片段(我们使用的模板)
3.data:数据通过data对象载入 4.components:在根组件中引入其他子组件 一般的vue中只有一个根组件,通过new Vue()来注册;
组件中的data要避免直接引用赋值,要用function来实现,不要直接进行引用赋值(會互相影响)
Vue实例对象中的template属性与组件指令是同等的效果。
vue基本概念: 全局api:extand、component 实例选项:el、template,data,componnets
实例属性、方法:$data、$on(都是带$符的) 指令:v-html、v-on(都是以v-开头的) 内置组件:<keep-alive></keep-alive>(可直接使用)
data里面的数据会被带到实例对象里面。 可通过 var a=new Vue(data:{apple})
a.apple访问。 https://www.cnblogs.com/caizhenbo/p/6418291.html vue实例的生命周期 全局注册子主件是通过Vue.component()来实现的;但是一般不用全局注册,只需要在根节点中加入components参数.
即便可以通过 <my-header></my-header> 调用此组件。
内置组件:
主组件的使用
h-->是一个参数,用于渲染的内置方法,将App组件渲染到绑定的元素中,或者页面中。
在{{ }} 可以写js表达式
v-for数组 对象 子组件
index---代表下标
数组
对象
《====》
效果是组件的内容被渲染了好几遍。
组件的作用是传值
组件
列表数据的同步更新
触发列表的更新(只有这几个可以触发对象数组的data里的值的更新)
直接复制列表,或者更改数组的长度不会更新。可以通过Vue.set来实现列表更新的效果。
Vue标签属性以及条件渲染 (http://www.cnblogs.com/xueweijie/p/6856095.html(v-bind的使用))
与本身存在的class不冲突,并存
:title=“obj”
data: { obj: obj} 结果
title="[object Object]"
返回对象的toString方法
v-bind:title="arr"
arr: [1, 2, 3] 结果 arr="1,2,3" 它将返回和执行
arr.join(',')
相同的结果事件绑定
1,内置事件绑定
2,自定义事件绑定(子组件向外触发的自定义事件----》emit()触发事件,可传参数
)
![]()
![]()
父级
![]()
子级
(子组件向外触发的自定义事件,可传值)
表单事件绑定(v-model数据双向绑定)
![]()
![]()
![]()
myVal:[],这里存放的是input的value值
myVal:'',这里存放的是单选input的value
myVal:‘’,这里放的是select 的 input的value值(默认为空初始值)可以设置 myVal:'1'
||
![]()
v-model-lazy: 表示内容输入完成点击回车或者失去焦点时数据才进行更新; 取代 input 监听 change 事件
v-model.number 输入数字时,将内容类型设置为数字型;
v-model.trim="show":将输入内容前后的空格去除
计算属性和数据监听
computed计算属性会被缓存,它会根据被调用的属性进行更新 computed中的属性同data中定义的属性,可以直接访问。
(过滤掉数字)
可以通过调用方法(methods) 及时更新 Date.now()
watch数据监听,多用于数据需要增删改查
计算属性的优点:可以直接根据data的属性动态的更改(data中myValue的值变化会同步反映到计算属性里)(计算属性会缓存所依赖的那个值,直到那个值发生变化,否则不会重新取值)
方法的优点:调用方法的时候才会更新,即使data中myValue的值没有变化,调用时依然会去重新取值
this.data中的数据 this.methods中的方法
组件之间的通信
1,父组件如何渲染子组件的内容 引入--->注册---> 使用该组件(组件名标签 eg:<com-a :link-m=" ">)
<<<======>>>>
![]()
![]()
(可动态引入组件) 2,父组件向子组件传递信息通过props 子组件向父组件信息通过 $emit()
![]()
![]()
(父组件向子组件传递的信息 在子组件中写props
)
注意pros的名字需要加单引号 在子组件template使用(使用必须驼峰,不能中线命名)
(父)
![]()
![]()
![]()
![]()
(动态属性传递)
(父)
(子)
![]()
(父组件向子组件传递模板(插槽)--->
子组件中使用<slot></slot>)
(子组件向父组件传递信息---》
emit()触发事件,可传参数
)(参考事件绑定2 @my-event)
过渡动画
![]()
![]()
1,css过渡
transtion的modeleft right定位的值不会被transition:接受,可通过transform实现 。
![]()
![]()
(key区分标签,否则显示有问题)
2.js过渡----->
v-bind:css="false"可以免于css的过渡的影响
![](https://images2018.cnblogs.com/blog/1300352/201802/1300352-20180228143941764-219799567.png)
![](https://images2018.cnblogs.com/blog/1300352/201802/1300352-20180228144025049-1990384445.png)
引入jQuery(调用动画animate()方法,el是dom done参数是enter与leave函数中必须的) jquery获取dom元素执行操作
自定义指令
(局部自定义指令)
(全局自定义指令) ![](https://images2018.cnblogs.com/blog/1300352/201802/1300352-20180228150101370-628641441.png)
bind:将我们的元素绑定到指令上,只执行一次 el:代表绑定的元素。binding.value表示的是使用了指令元素的指令的值
先执行bind 后执行inserted
插件
1,安装保存到package.json中2,main.js中引用
3, 注册![]()
4,实例化,并在跟组件中引用(Vue-resource的使用 http://blog.csdn.net/u013778905/article/details/54235906) 单文件组件
1,单文件组件即 .vue组件。其中。vue组件中有(<template> <script> <style>)
2,单文件组件的实现是基于webpack+vue-loader。
参考知识
vue2.0.js的更多相关文章
- vue2.0.js基础开发使用心得(结合实际项目对数据的增删改查)
1.首先申明,没有使用vue 的组件,以及脚手架等,都是一些基础语法的使用. ------------------------------------------------------------- ...
- vue2.0 父子组件数据传递prop
vue的一个核心概念就是组件,而组件实例的作用域是孤立的,所以组件之间是不能直接引用其他组件的数据的.极端点举例来说,就是可以在同一个项目中,每一个组件内都可以定义相同名称的数据. data () { ...
- vue2.0路由-路由嵌套
vue一个重要的方面就是路由,下面是自己写的一个路由的例子: 1.引入依赖库就不必再说 2.创建组件 两种写法 第一种:间接 <template id="home"> ...
- [js高手之路]Vue2.0基于vue-cli+webpack Vuex用法详解
在这之前,我已经分享过组件与组件的通信机制以及父子组件之间的通信机制,而我们的vuex就是为了解决组件通信问题的 vuex是什么东东呢? 组件通信的本质其实就是在组件之间传递数据或组件的状态(这里将数 ...
- [js高手之路]Vue2.0基于vue-cli+webpack父子组件通信教程
在git命令行下,执行以下命令完成环境的搭建: 1,npm install --global vue-cli 安装vue命令行工具 2,vue init webpack vue-demo 使用v ...
- 采用Vue2.0开发的分页js组件
2017-11-17 19:14:23 基于jQuery的分页插件相信大家伙已经都用过很多了,今天分享一下基于Vue2.0的分页插件pagination.js 由于项目需求,要求使用 Vue2.0 开 ...
- 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十五 ║Vue基础:JS面向对象&字面量& this字
缘起 书接上文<从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十四 ║ VUE 计划书 & 我的前后端开发简史>,昨天咱们说到了以我的经历说明的web开发经历的 ...
- vue2.0项目 calendar.js(日历组件封装)
最近一直闲来无事,便寻思着做一下自己的个人项目,也想说能使用现在比较流行的一些mvvm框架来做,于是就选用了这样的一个技术栈vue2.0+vue-router+vuex+webpack来做,做得也是多 ...
- Vue2.0 探索之路——生命周期和钩子函数的一些理解 - JS那些事儿
在使用vue一个多礼拜后,感觉现在还停留在初级阶段,虽然知道怎么和后端做数据交互,但是对于mounted这个挂载还不是很清楚的.放大之,对vue的生命周期不甚了解.只知道简单的使用,而不知道为什么,这 ...
随机推荐
- 微信小程序,时间戳和日期格式互相转化
微信小程序,时间戳转为日期格式 通常后台传递过来的都是时间戳,但是前台展示不能展示时间戳.就需要转化了. 功能说明: 微信小程序里,时间戳转化为日期格式,支持自定义. 拷贝至项目utils/utils ...
- Apex语言(四)选择(决策)结构
1.选择结构 选择结构是当满足某个条件或不满足某个条件时,需要进行决策以控制执行的流程. 2.if语句 if语句由布尔表达式后跟一个或多个语句组成. [格式] if(条件表达式){ 语句: } [流程 ...
- 6——Z 字形变换(ZigZag Conversion)
题目描述将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下: L C I RE T O E S ...
- /proc目录介绍
1. /proc目录 Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构.改变内核设置的机制.proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间.它以 ...
- EasyUI 解决Js动态加载页面样式不显示问题
var strHtml = "<input name='mydate' class='easyui-datebox'>"; 直接使用append把内容加载到页面中,Ea ...
- [Ynoi2015]纵使日薄西山
题目大意: 给定一个序列,每次单点修改,然后进行询问. 定义一次操作为,选择一个位置$x$,将这个位置的数和左边.右边两个位置的数(不存在则忽略)各减去1,然后和0取max. 对序列中最大的位置进行一 ...
- JAVA关键技术
通用技术方面 MVC 1)概念 MVC是一个架构模式,它分离了表现与交互.它被分为三个核心部件:模型-model.视图-view.控制器-controller 2)工作原理 所有的终端用户请求被发送到 ...
- [bzoj1212][HNOI2004]L语言_AC自动机_动态规划
L语言 bzoj-1212 HNOI-2004 题目大意:给你一个n个单词的集合,然后给你m条字符串.问每条字符串可以被理解的最长前缀.被理解当且仅当存在一种分割使得每一段都是集合里的元素. 注释:$ ...
- Spring Boot上传文件
我们使用Spring Boot最新版本1.5.9.jdk使用1.8.tomcat8.0. <parent> <groupId>org.springframework.boot& ...
- 【JS】垃圾回收和块级作用域
垃圾回收: JavaScript中,开发者不必关心内存分配和回收的问题.这和Java语言相似.有一个垃圾自己主动回收机制.那么JavaScript内部到底是如何回收垃圾的呢? 使用标记回收法:就是说. ...