同样的,我们先来回顾一下昨天学习的内容:

1.利用v-once来组织双向绑定

2.filter{}过滤器的使用(详情请看上一章)

3.computed(计算属性),利用computed属性实现filters同样的效果

4.利用method{}来实现与computed和filters同样的效果

5.比较filters、computed、method的区别

6.利用v-bind{}属性绑定HTML自带属性;如class,style等

7.v-bind{}属性绑定HTML自带属性的三种写法------对象,数组,数组+对象

8.vue会自动为类似于 border-radius,transform等需要加浏览器前缀的属性自动加上前缀

好了,回顾完昨天所学习的东西,那么我们进入今天的进程:::::

我想js中的  show(),hide()属性,大家一定已经耳熟能详,没错,这两组属性在我们的开发中运用得很多很多,那么我们来看一下,在Vue中,我们如何实现这两组属性吗,上代码:

<div v-if="ok">Ok</div>
<div v-else>No</div>
//以上代码详解:
1.值得注意的是v-else必须要紧接在v-if后面才会生效。
2.意思很明显,如果v-if的值为ok,那么输出Ok;如果v-if的值不为ok 那么输出No
 
如果我们把上面的代码更加语义化的写出来,那么就会是这样:
 
<div v-if="ok"></div>
<div v-if="!ok"></div>
 
同时,还有另一种表象相同但本质不同的写法:
<div v-show="ok">Ok</div>
<div v-else>No</div>
 
v-show其实和v-if的效果是一样的,只不过v-show不会渲染dom,而仅仅是改变css中display的属性而已;所以如果,我们把v-show="ok"换成v-show="false"的话,浏览器只会将其隐藏而不会删除节点。
 
值得注意的是,在新版本中v-show这种写法不支持 complate和v-else。
 
重点:所以通过上面的介绍,就可以得出这样一个结论;即为
 
1.v-if需要渲染dom,因此在切换速度上会比v-show慢;
2.而v-show的dom需要预先加载,因此初次加载量比v-if大;
 
所以,如果需要频繁切换则采用v-show;如果需要提升整个页面的加载速度则采用v-if。
 
 
以上只是开胃菜,蔬菜沙拉?水果沙拉???无所谓了,下面我们进入正题:
 
v-for::
我们知道对于任何变成语言来说,数据集合的循环处理其实都是最常用的功能,那么我们来看看vue的基本写法:
 
<div id="example">
    <div v-for="item in items"> {{ message }} </div>
</div>
 
var example2 = new Vue({
    el:' #example ',
    data{
        items[
            { message : ' foo ' }
            { message : ' bar ' }
]
}
})
上面的输出结果为:
foo , bar ;
 
同样,我们也可以写成比较像js原生语法的方式:
<div id =" example ">
    <div v-for=" item of items "> {{message}} </div>
</div>
 
上面提到的是最基本的v-for语法
 
其实Vue中的v-for和PHP中的foreach没有太大的区别;代码如下:
 
foreach( $x as $index => $y ){}
 
这个里面 $index 和 $y为一个键值对。
 
如:
$x = array( 1,2,3,4,5 )
那么 $index 依次是 0 1 2 3 4
        $y依次是 1 2 3 4 5 
 
 
这种写法,我们在Vue里可以这样写:
var example2 = new Vue({
    el:'#example',
    data{
        parentMessage : ' parent ',
        items{
            [
                { message : ' zoo ' },
                { message : ' bar ' }
]
}
})
 
<div id = "example"> 
    <div v-for=" ( item, index ) in items ">
            {{ parentMessage }} - {{ index }} - {{ item.message }}
    </div>
</div>
 
那么我猜测上面输出的结果应该是:
 

parent - 0 - zoo

parent - 1 - bar       
 
上面我们讲到了利用v-for来循环数组,那么我们同样还可以用v-for来循环对象,代码如下:
 
<div id= " example ">
    <div  v-for= " value in object ">
            {{ value }}
    </div>
</div>
 
new Vue({
    el: ' #example ',
    data {
        object : {
            FirstName : ' mc '
            LastName : ' mcc '
            Age : ' 20 '
}
}
})
 
以上将会输出 :
mc
mcc
20;;;;
 
一个疑问,如果说我们把上面代码中的 value替换为key,那么将会输出什么呢?
?????????????????????????????????????
 
毫无疑问,输出依然是不变的,至于为什么,后面将会提到。
 
可以看出Vue的写法简洁易懂,既可以循环集合,又可以内部属性,所以在用Vue的v-for循环的时候,要注意不要搞混了,完整循环代码如下:
<div id = "example">
    <div v-for = " ( index key value  )  in object">
    {{value}}.{{index}}:{{key}}
</div>
 
代码如上,输出的结果应该是:
 
0.FirstName:mc
1.LastName:mcc
2.Age:20
 
!!注: 在v-for属性当中,循环的第一个参数,也就是上面的index为 object中的 值
                                            循环的第二个参数,也就是上面的 key 为 object中的 键
                                                循环的第三个参数,也就是上面的value 为object中的 数组下标
 
 
 
那么某些时候,我们只需要循环次数而不需要循环数据,也就是空数据,那么我们可以这样。。。
 
 
<div v-for=" n in 10 "> {{ n }} </div>
那么打印出来的结果就应该是  ::    12345678910
 
 

今天我们就到这里,祝大家周末愉快,明天见~~~~~~

希望各位看官,可以留下自己的见解,希望可以向大家学习;

不管是有疑问、质疑等都可以留言发表,希望可以和大家一起讨论,共同进步

Vue学习之路---No.3(分享心得,欢迎批评指正)的更多相关文章

  1. vue学习之路 - 4.基本操作(下)

    vue学习之路 - 4.基本操作(下) 简述:本章节主要介绍 vue 的一些其他常用指令. Vue 指令 这里将 vue 的指令分为系统内部指令(vue 自带指令)和用户自定义指令两种. 系统内部指令 ...

  2. Vue学习之路之登录注册实例代码

    Vue学习之路之登录注册实例代码:https://www.jb51.net/article/118003.htm vue项目中路由验证和相应拦截的使用:https://blog.csdn.net/wa ...

  3. Vue学习之路---No.4(分享心得,欢迎批评指正)

    这里说声抱歉,周末因为有其他事,没有更新博客,那么我们今天继续上周5的说. 老规矩,先回顾一下上一次的重点: 1.利用V-if和v-else来提到show()和hide(),同时要记住,v-else一 ...

  4. JAVA学习之路与大家分享

    这是我四年以前总结的JAVA学习之路,希望对初学者或想从事JAVA开发的人有帮助. 本人是软件工程专业出身,先后学过C.C++.JAVA.VB.delphi等等开发语言以及网络相关管理技术.哎,好久不 ...

  5. Vue学习之路第一篇(学习准备)

    1.开发工具的选择 这个和个人的开发习惯有关,并不做强求,厉害的话用记事本也可以.但是我还是建议用人气比较高的编辑工具,毕竟功能比较全面,开发起来效率比较高. 我之前写前端一直用的是sublimete ...

  6. Vue学习之路---No.2(分享心得,欢迎批评指正)

    昨天我们大致了解了有关Vue的基础知识和语法:今天我们继续在大V这条路上前进. 首先,我们回忆一下昨天提到的相关知识点: 1.了解Vue的核心理念------"数据驱动视图" 2. ...

  7. Vue学习之路---No.6(分享心得,欢迎批评指正)

    我们还是先回顾一下上一次的重点: 1.事件绑定,我们可以对分别用方法和js表达式对事件进行处理 2.当方法名带括号的时候,在方法中一定要传参:而不带括号的时候,vm会自动配置默认event 3.各类事 ...

  8. Vue学习之路---No.7(分享心得,欢迎批评指正)

    老规矩,先回顾一下上回的重点: 1.对于input框,若为单选框,如果没有对其设置value,那么其checked的值将在true Or false之间切换:如果设置了value,那么将会切换valu ...

  9. Vue学习之路---No.1(分享心得,欢迎批评指正)

    首先为了打消大家对Vue.js存在的顾虑,先通过大家所熟知的JQ作为对比. 都知道JQ的语法相对简单.清楚.使用方便.功能齐全: 那么Vue.js呢,同样的,Vue.js与JQ在很多地方都是相同之处, ...

随机推荐

  1. vue.cli脚手架初次使用图文教程

    vue-cli作用 vue-cli作为vue的脚手架,可以帮助我们在实际开发中自动生成vue.js的模板工程. vue-cli使用 !!前提:需要vue和webpack 安装全局vue-cli npm ...

  2. git命令详解( 六 )

    此为git命令的第六篇 远程跟踪分支 不知道大家有没有发现在前面几篇中Git 好像知道 master 与 o/master 是相关的.当然这些分支的名字是相似的,可能会让你觉得是依此将远程分支 mas ...

  3. WebLogic使用总结(一)——WebLogic安装

    一.下载WebLogic 到Oracle官网http://www.oracle.com/ 下载WebLogic(根据自己的情况选择),本文档下载的是Generic WebLogic Server an ...

  4. 自己总结的C#编码规范--7.文档下载 & 总结

    今天终于把这一系列的编码规范写完了,这个编码规范算上前面阅读相关书籍,前前后后总共花了一个月的时间,也算是个人的呕心沥血之作了. 本来也没打算把这个系列写的这么长,但是在写的过程中自己搜了相关的网上资 ...

  5. Android ble蓝牙问题

    (1)蓝牙回调安卓4.4的蓝牙回调是在异步线程中(不在主线程),若要在蓝牙回调中执行更新界面的操作,记得切换到主线程去操作 (2)三星手机兼容性问题connectGatt()方法在某些三星手机上只能在 ...

  6. IOS开发中发布的时候取消日志打印

    在PCH文件中定义如下宏 #if DEBUG #define NSLog(...) NSLog(__VA_ARGS__) #define debugMethod() NSLog(@"%s&q ...

  7. flask之wtforms

    本篇导航: wtforms组件的使用 自定义From组件 一.wtforms组件的使用 1.flask中的wtforms WTForms是一个支持多个web框架的form组件,主要用于对用户请求数据进 ...

  8. (88)Wangdao.com第二十一天_JavaScript 元素节点Element 节点

    Element 节点 (元素节点) 是一组对象 对应网页的 HTML 元素 每一个 HTML 元素,在 DOM 树上都会转化成一个 Element 节点对象(以下简称元素节点) 所有元素节点的 nod ...

  9. redis安装(单节点)

    # tar -zxvf redis.tar.gz # cd redis 安装(使用 PREFIX 指定安装目录): # make PREFIX=/usr/local/redis install 安装完 ...

  10. 使用Eclipse+jlink调试STM32

    使用Eclipse+JLINK调试STM32 安装eclipse + CDT. 安装交叉编译工具(工具链ARM CROSS GCC--GUN ARM http://gnuarmeclipse.sour ...