vue.js

vue.js

------------------

mvvm

m model 数据

v view  视图

vm  viewModel

------------------

1、vue声明方式

new Vue({

el:'选择器'//vue的范围

data:  //在这个范围内的所有参数

methods //在这个范围内的所有方法

})

注:1、选择器,哪怕选出来的是一组,也默认第一个有效果

2、el、data、methods固定的单词不能变,里面随便

3、this始终是vue

4、当前触发事件的对象

ev.target

2、vue的生命周期--从诞生到消亡

new对象----创建实例

钩子---钩子函数---生命周期钩子

在对象声明的过程中,会有不同的阶段,每个阶段都有一个标志,这个标志就是钩子,钩子函数就是在每个对应阶段执行的函数

1、实例已经创建 created

2、编译之前    beforeCompile

3、编译之后    compiled

4、模板替换    ready

5、消亡之前    beforeDestroy

6、消亡之后    destroyed

created:function(){

alert('实例已经创建')

},

beforeCompile:function(){

alert('编译之前')

},

compiled:function(){

alert('编译之后')

},

ready:function(){

alert('插入到文档中')

},

beforeDestroy:function(){

alert('销毁之前')

},

destroyed:function(){

alert('销毁之后')

}

3、实例的属性:

vm.$watch  监控数据发生改变

vm.$destroy 销毁对象

vm.$el    就是容器对象

vm.$data  就是数据data89

vm.$mount 手动挂在vue对象

vm.$log    当前vue对象的状态

eg:

vm.$watch  监控你的数据是否发生变化

vm.$watch('你要监控的数据',function(str){  //浅度监控

如果发生变化你要干什么

})

str是变化后的东西

注:数组和字符串发生改变都可以,但是json不行

vm.$watch('你要监控的数据',function(){  //深度监控

如果发生变化你要干什么

},{deep:true})

4、指令  扩充了html语法

v-model="表单元素产生的数据"

radio on off

checkbox true false

v-for

v-for="v in arr"

v---value

$index---下标

v-for="name in json"

name---json里的值

$key---json里的建

v-for="(i,v) in arr"

i---下标

v---value

注:如果有重复的:+

{{v}}

v-on:

v-on:click/mouseover/keyup...

简写@click

$event

事件的简写

组织冒泡:@click.stop

组织默认事件:@click.prevent

键盘

@keyup.键码

@keyup.enter/left/esc/space

注:传参不能乱

自定义键码:

Vue.directive('on').keyCodes.ctrl=17;

v-bind:

属性里面放表达式可以,但是最好用绑定的形式

v-bind:src/title/link

简写:src

:class

1、直接写数据

data:{

      msg:'red'

}

:class="msg"

2、写数组

:class="[a,b,c]"

//a b c 都是数据

3、写json

data:{

    json:{red:true,border:false}

}

:class="json"

:style

1、直接写

:style="a"

data:{

    a:{

          width:100px

    }

}

2、数组

:style="[a,b]"

data:{

    a:{

        width:100px

    },

    b:{

        width:100px

    }

}

3、json

:style="{width:a,border:b}"

data:{

    a:'100px',

    b:'5px solid blue'

}

自定义指令:

Vue.directive('red',function(){

    this.el.style.background='red';

    //this.el 一个原生的对象

});

注:指令必须以v打头

自定义元素指令

Vue.elementDirective('zns-red', {

    bind: function () {

        this.el.style.background='red';

    }

});

5、页面渲染(模板,表达式)

非转译输出

{{}}  数据更新模板就变化

{{*}} 数据只绑定一次,初始化的时候是什么就是什么

转译输出

{{{}}} 把html代码转化成页面能看懂的

过滤器

|过滤器名称 参数

currency 钱

uppercase 转大写

lowercase 转小写

capitalize 首字母大写

debounce 配合事件来用,延迟执行

limitBy 数据处理

{{arr | limitBy 1}} 从头开始截取几个

{{arr | limitBy 1 2}}  截取几个 从哪开始

filterBy 过滤数据

orderBy

{{v}}

1 是字符串的排列方式的正序 默认是1

-1 倒叙

注:|过滤器名称 |过滤器名称.....

自定义过滤器

Vue.filter('过滤器名称',function(input){

    return

    //input 就是要过滤的内容

})

防止页面刷新出现花括号

v-cloak  把要渲染的数据先遮蔽注

注:一般用在模块上,大段

在要渲染的模块上加v-cloak

然后在样式里面加

[v-cloak]{

    display:none

}

单个标签

v-text="数据"

v-html="数据"  转译输出

6、属性的计算:

computed:{**

    要展示的属性名:function(){

        return 返回什么就展示什么

    }

}

注:一定要写return

---------------

computed:{

    要展示的属性名:{

        get:function(){},//一定要写return

        set:function(){}//不写return

    }

}

7、交互:

1、下载vue-resource.js

npm cnpm bower

2、引入

3、使用

this.$http.get/post/jsonp('url',{params:{}}).then(succFn,errFn)

------------------------------

补充angularJS

渲染数据:

{{}}

如果angular挂了,或者网速慢,出来{{}}

ng-bind

会把这个标签内的所有东西覆盖掉

自定义过滤器

app.filter('过滤器名称',function(){

return function(inp){

inp:要过滤的内容

}

})

自定义指令

app.directive('指令名称',function(){

return function(scope,element,attr){

}

})

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

推荐阅读更多精彩内容