温故而知新,这句话说的真的有道理。每次回顾vue总会学到不一样的知识点,我就在想,我第一遍到底看了什么?

废话不多说,简要记录今天的所得:

1.v-if 与 v-show

同:都是条件渲染

异:渲染的机制不一样

  v-if  是“真正”的渲染, 通过事件监听、子组件的销毁与重建

  v-show  是通过css来 改变视觉上的渲染 通过display属性的改变来营造出一种假象 “display : 'none' ”

2.v-for 列表渲染

  v-for = "item in items "

  遍历数组  可以接受第二个参数  index

  v-for = "(item,index) in items "

  遍历对象 可以接受三个参数  第二个为 key  第三个为 index

 v-for = "(item,key,index) in items "

3.数组的 splice()方法  可以删除、替换、添加数据

  Array.splice(index, num )  删除数据

    index: 开始的位置

    num:要删除的数据的个数

    var fruits = ["Banana", "Orange", "Apple", "Mango"];
    fruits.splice(2,2);

    // Banana,Orange

  Array.splice(index, 0 ,insertValue) 添加数据

    index: 开始的位置

    0:不删除任何数据

    insertValue:要添加的数据

    var fruits = ["Banana", "Orange", "Apple", "Mango"];
    fruits.splice(2,0,"Lemon","Kiwi");

    //  Banana,Orange,Lemon,Kiwi,Apple,Mango

  Array.splice(index, num ,insertValue) 替换数据

       index: 开始的位置

    num:要删除的数据的个数

    insertValue:要替换的的数据

  var fruits = ["Banana", "Orange", "Apple", "Mango"];

  fruits.splice(2,1,"Lemon","Kiwi");

  //  Banana,Orange,Lemon,Kiwi,Mango

4. v-for 在数组中使用,key 是必须的

5.每个组件都有自己的作用域,任何数据都不会自动进入到组件中,需要使用prop 来传递数据

6. 在一些特定元素中,要使用 is 特性来挂载组件

7. 如果想把异个对象的所有数据都作为prop进行传递 ,可以使用不带参数的v-bind

  

todo: {
text: "Hello Vue",
isComplete: false
}
<todo-item  v-bind="todo"></todo-item>

等价于:

<todo-item  v-bind:text="todo.text" v-bind:is-complete="todo.isComplete"></todo-item>

8.字面量法与动态语法

这是常常犯错误之一

这是字符串“1” String

<my-component some-prop="1"></my-component>

这是数字“1”  Number

<my-component v-bind:some-prop="1"></my-component>

9.prop 验证

如果需要验证规则,则需要使用对象的形式来定义prop

Vue.component('example', {
props: {
// 基础类型检测 (`null` 指允许任何类型)
propA: Number,
// 可能是多种类型
propB: [String, Number],
// 必传且是字符串
propC: {
type: String,
required: true
},
// 数值且有默认值
propD: {
type: Number,
default: 100
},
// 数组/对象的默认值应当由一个工厂函数返回
propE: {
type: Object,
default: function () {
return { message: 'hello' }
}
},
// 自定义验证函数
propF: {
validator: function (value) {
return value > 10
}
}
}
})

2017.12.21 学习vue的新得的更多相关文章

  1. java一周学习记录(2017/12/2)

    姓名:Danny                               日期:2017/12/2 周日 周一 周二 周三 周四 周五 周六 所花时间 120 150 190 150 180 28 ...

  2. Vue2 第四天学习(Vue的生命周期)

    阅读目录 1.理解VUE---混合 2.Vue实例化选项 3.Vue实例化的生命周期 回到顶部 1.理解VUE---混合 在了解Vue生命周期之前,我们先来学习Vue中的混合吧: 为什么需要使用混合? ...

  3. 【我的书】Unity Shader的书 — 文件夹(2015.12.21更新)

    写在前面 感谢全部点进来看的朋友.没错.我眼下打算写一本关于Unity Shader的书. 出书的目的有以下几个: 总结我接触Unity Shader以来的历程,给其它人一个借鉴.我非常明确学Shad ...

  4. 从零开始学习Vue.js,学习笔记

    一.为什么学习vue.js methods 只有纯粹的数据逻辑,而不是去处理 DOM 事件细节. vue.js兼具angular.js和react的优点,并且剔除了他们的缺点 官网:http://cn ...

  5. 2017.12.25 Mybatis物理分页插件PageHelper的使用(二)

    参考来自: 官方文档的说明:https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/zh/HowToUse.md 上篇博客 ...

  6. 学习vue就是那么简单,一个简单的案例

    vue是前端兴起的一个javascript库,相信大家都使用过jQuery,虽然vue和jQuery没有可比性,但从熟悉的角度去理解新的东西或许会容易接受一些,有时候由于思想和模式的转变会带来阵痛,但 ...

  7. 学习 vue 源码 -- 响应式原理

    概述 由于刚开始学习 vue 源码,而且水平有限,有理解或表述的不对的地方,还请不吝指教. vue 主要通过 Watcher.Dep 和 Observer 三个类来实现响应式视图.另外还有一个 sch ...

  8. CS229 - MachineLearning - 12 强化学习笔记

    Ng的机器学习课,课程资源:cs229-课件    网易公开课-视频 问题数学模型: 马尔科夫过程五元组{S.a.Psa.γ.R},分别对应 {状态.行为.状态s下做出a行为的概率.常数.回报}. 一 ...

  9. vuejs学习——vue+vuex+vue-router项目搭建(三)

    前言 vuejs学习——vue+vuex+vue-router项目搭建(一) vuejs学习——vue+vuex+vue-router项目搭建(二) 为什么用vuex:组件之间的作用域独立,而组件之间 ...

随机推荐

  1. java8 运算语法集

    1.分组并进行求和组合运算 示例主要代码: List<String> items = Arrays.asList("apple", "apple", ...

  2. 如何让谷歌浏览器支持小于12px的字体

    CSS3有个新的属性transform,而我们用到的就是transform:scale() 书写一段代码 <body> <p>我是一个小于12PX的字体</p> & ...

  3. VR中的Redirection

    在虚拟现实(Virtual Reality,VR)中,很重要的一点就是用户的在虚拟环境中的漫游(navigation).除了固定视点的VR电影,一般的VR应用,特别是游戏或者其他交互式的应用,都会依赖 ...

  4. 夯实Java基础系列20:从IDE的实现原理聊起,谈谈那些年我们用过的Java命令

    本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...

  5. Scala 学习笔记之函数(1)

    class Student { val mySayHello1: String => Unit = sayHello val mySayHello2: (String, Int) => U ...

  6. IBM MQ8.0常用操作

    一.创建队列管理器 1.创建队列管理器QM1:crtmqm -q QM1 2.删除队列管理器QM1:dltmqm QM1 3.启动队列管理器QM1:strmqm QM1 4.停止队列管理器QM1:en ...

  7. 服务器时间误差导致的google sign-in后台验证错误(远程调试java程序)

    https://developers.google.com/identity/sign-in/web/backend-auth import com.google.api.client.googlea ...

  8. MySql + Workbench使用教程

    Mysql安装及使用 注意:不推荐下载zip版本,需要配置额外的环境变量和其他设置,很复杂.官方的windows安装版本可以自动完成所有操作. 下载地址:https://dev.mysql.com/d ...

  9. LRU算法实现,HashMap与LinkedHashMap源码的部分总结

    关于HashMap与LinkedHashMap源码的一些总结 JDK1.8之后的HashMap底层结构中,在数组(Node<K,V> table)长度大于64的时候且链表(依然是Node) ...

  10. 初识AutoIt

    1.定义 AutoIt 目前最新是v3版本,这是一个使用类似BASIC脚本语言的免费软件,它设计用于Windows GUI(图形用户界面)中进行自动化操作.它利用模拟键盘按键,鼠标移动和窗口/控件的组 ...