vue.js基础笔记(一)!!!!


Vue.js是什么?

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

Vue.js的目的

  • Vue.js的产生核心是为了解决如下三个问题:
    • 解决数据绑定的问题;
    • Vue.js框架生产的主要目的是为了开发大兴单页面应用(SPA:Single Page Application)Angular.js中对PC端支持的比较良好,但是对移动端支持就一般。而Vue.js主要支持移动端,也支持PC端。
    • 它还支持组件化。也就是可以将页面封装成若干个组件,采用积木式编程 ,这样是页面的复用度达到最高(支持组件化)。

Vue.js特性

  • MVVM模式
    • M: model 业务模型,用处:处理数据,提供数据
    • V: view 用户界面、用户视图
  • 业务模型model中的数据发生改变的时候,用户视图view也随之变化。用户视图view改变的时候,业务模型model中的数据也可以发生改变。
    • 组件化
    • 指令系统
    • Vue.js 2.0开始支持虚拟DOM(Vue.js 1.0 是操作的真是DOM,而不是虚拟DOM)虚拟DOM可以提升页面的刷新速度。

一、起步

1、v-model(绑定数据)
2、v-for(循环)
3、v-on(绑定事件)
4、data(数据)
5、methods(方法)
6、$index(索引)

二、概述

1、data(绑定 DOM 文本到数据)
2、v-if(不满足条件的话则不会出现在dom中)
3、v-show(不满足条件,则样式会设置成隐藏 display:none;)
4、组件:

<div id="app3">
    <app-nav></app-nav>                     <!--导航-->
    <app-view>
       <app-sidebar></app-sidebar>         <!--侧边栏-->
       <app-content></app-content>         <!--展示内容-->
    </app-view>
</div>
<script type="text/javascript">
 var vm2=new Vue({
    el:"#app2",
    data:data2
});
</script>

三、Vue实例

1、构造器:Vue.extend
2、数据属性:vm.a
3、实例属性和方法:
 1)vm.$el
 2)vm.$data
 3)vm.$watch
 4)实例生命周期:

 var vm4 = new Vue({
        el:".box",
        data:{
            a:"声明周期"
        },
        beforeCreate(){
            console.log("组件创建之前")
        },
        created(){
            console.log("组件创建之后")
        },
        beforeMount(){
            console.log("组件挂载之前")
        },
        mounted(){
            console.log("组件挂载之后")
        },
        beforeUpdata(){
            console.log("组件更新之前")
        },
        updata(){
           console.log("组件更新完毕")
        },
        beforeDestroy(){
            console.log("组件销毁之前")
        },
        destroyed(){
        console.log("组件销毁之后")
        },
    })

四、数据绑定语法

1、文本插值:

    <span>Message:{{ msg }}</span>                       //每当这个属性变化时它也会更新
    <span v-once>This will never change:{{ msg }}</span> //一次性绑定

2、纯 HTML:

    <div v-html="rawHtml"></div>                         
//大括号会将数据解释为纯文本,为了输出真正的 HTML ,
需使用 v-html 指令,你不能使用 v-html 来复合局部模板,
组件更适合担任 UI 重用与复合的基本单元

3、属性:

    <div v-bind:id="dynamicId"></div>

4、绑定表达式:

    {{ number + 1 }}
    {{ ok ? ‘YES‘ : ‘NO‘ }}
    {{ message.split(‘‘).reverse().join(‘‘) }}
    一个限制是每个绑定只能包含单个表达式,因此下面的语句是无效的:
    {{ var a = 1 }}                                     //这是一个语句,不是一个表达式
    {{ if (ok) { return message } }}                    //流程控制也不可以,可改用三元表达式

5、过滤器:

    {{ message | capitalize }}                          //这个过滤器其实只是一个 JavaScript 函数,返回大写化的值
    {{ message | filterA | filterB }}                   //过滤器可以串联
    {{ message | filterA ‘arg1‘ arg2 }}                 //过滤器也可以接受参数:第一个参数—为过滤器函数,带引号的参数—为字符串,不带引号的参数—按表达式计算

6、指令: 职责是—当其表达式的值改变时把某些特殊的行为应用到 DOM 上

    <p v-if="greeting">Hello!</p>                       //v-if 指令将根据表达式 greeting 值的真假删除/插入 <p> 元素

7、参数:

    <a v-bind:href="url"></a>                           //v-bind 指令,用于响应地更新 HTML 特性,用特性插值 href="{{url}}" 可获得同样的结果,但实际上它也是在内部特性插值,转为 v-bind 绑定
    <a v-on:click="doSomething"></a>                    //v-on 指令,用于监听 DOM 事件,参数是被监听的事件的名字

8、修饰符:以半角句号 . 开始的特殊后缀,表示指令应当以特殊方式绑定

<a v-bind:href.literal="/a/b/c"></a>

9、缩写:

   <a v-bind:href="url"></a>                            //完整语法
   <a :href="url"></a>                                  //缩写
   <a v-on:click="doSomething"></a>                     //完整语法
   <a @click="doSomething"></a>                         //缩写

五、class与style绑定(数据绑定在data上)

1、绑定class
 1)对象语法

  <div id="box" v-bind:class="{ ‘class-a‘: isA, ‘class-b‘: isB }"></div>
  <div id="box2" v-bind:class="classObject"></div>

2)数组语法

<div id="box3" v-bind:class="[classA,classB]"></div>
    <div id="box4" v-bind:class="[classA,isB?classB:‘‘]"></div>
    <div id="box5" v-bind:class="[classA,{classB:isB,classC:isC}]"></div>  <!--当有多个条件 class 时,在 1.0.19+ 中,可以在数组语法中使用对象语法

2、 绑定内联样式style
 1)对象语法

    <div id="box6" v-bind:style="{color:activeColor,fontSize:fontSize+‘px‘}"></div>
    <div id="box7" v-bind:style="styleObject"></div>

2)数组语法

    <div id="box8" v-bind:style="[styleObjectA,styleObjectB]">text</div>        <!-- v-bind:style 的数组语法可以将多个样式对象应用到一个元素上-->
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,165评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,720评论 1 298
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,849评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,245评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,596评论 3 288
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,747评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,977评论 2 315
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,708评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,448评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,657评论 2 249
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,141评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,493评论 3 258
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,153评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,108评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,890评论 0 198
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,799评论 2 277
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,685评论 2 272

推荐阅读更多精彩内容

  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 4,992评论 0 29
  • 下载安装搭建环境 可以选npm安装,或者简单下载一个开发版的vue.js文件 浏览器打开加载有vue的文档时,控制...
    冥冥2017阅读 5,980评论 0 42
  • Vue 实例 属性和方法 每个 Vue 实例都会代理其 data 对象里所有的属性:var data = { a:...
    云之外阅读 2,127评论 0 6
  • 1.安装 可以简单地在页面引入Vue.js作为独立版本,Vue即被注册为全局变量,可以在页面使用了。 如果希望搭建...
    Awey阅读 10,916评论 4 129
  • 看完《黄金时代》,内心积聚了太多谜题,于是开始翻各种影评、文献,又迫不及待地看完《萧红》。两部电影讲述的是同一个人...
    叁十三S阅读 262评论 1 4