三、vue实例的4个常用选项

Vue实例的参数有el(指定挂载的DOM元素),data(实例的数据),还可以定义其他参数;
vue实例会用到的4个常用参数选项:

一、filters 过滤器

eg:假设我们有一组数字,都是小数;

let vm=new Vue({
    //挂载元素
    el:"#app",
    //实例vm的数据
    data:{
        num1:33.245,
        num2:56.256,
        num3:98.236
    }
});

num1,num2,num3都是Vue实例vm的小数,展示在视图上:

<div id="app">
    数字1:{{num1}}<br>
    数字2:{{num2}}<br>
    数字3:{{num3}}
</div>

双大括号{{ }}渲染出来:


渲染成功
需求改了,不能把小数展示出来,需要把小数转换成整数再显示。需要用到Vue的filters过滤器;
new Vue({
    //挂载元素
    el:"#app",
    //实例vm的数据
    data:{
        num1:33.245,
        num2:56.256,
        num3:98.236
   },
   //过滤器
   filters:{
       //toInt(value){
            //return parseInt(value);
       //}
       toInt:function(value){
            return parseInt(value);
        }
    }
})

释:参数对象除了el和data属性之外,还多了一个filters属性,它的值也是一个对象,里面定义了一个叫toInt( )的方法,传入了一个value的参数,函数的作用就是把传入的参数value,简单地转成一个整出并return回去。

定义完filters属性后,如何用?

释:通过管道符 | 把函数toInt 放在变量后面即可,num1,num2,num3会分别作为参数value传入toInt( value )方法进行运算,并返回一个整数。

<div id="app">
    数字1:{{num1 | toInt}}<br>
    数字2:{{num2 | toInt}}<br>
    数字3:{{num3 | toInt}}<br>
</div>

此时,渲染出来的页面:


把小数换成整数渲染成功

二、computed 计算属性

拿到一些数据,需要经过处理计算后得到的结果,才是要展示的内容。
eg:有三个数,但是需要展示的是三个数字之和。这种情况,就适合用我们的计算属性computed。

new Vue({
  //挂载元素
  el:"#app",
  //实例vm的数据
  data:{
    num1:1,
    num2:3,
    num3:10
  },
  //计算属性
  computed:{
    sum:function(){
      return this.num1+this.num2+this.num3
    }
  }
})

计算属性computed的定义语法和过滤器filters类似,但是用法不一,如下:

<div id="app">
    综合:{{sum}}
</div>

三、methods 方法

在methods中,我们可以定义一些方法,供组件使用;
eg:定义一个数据a,当用户点击加1按钮的时候,a的值加1。这种情况,我们可以利用methods来实现;

new Vue({
   //挂载元素
   el:"#app",
   //实例vm的数据
   data:{
       a:0
    },
   //方法
   methods:{
       plus:function(){
           return this.a++;
       },
       minues:function(){
           return this.a-=2;
        },
    }
})
定义一个plus( )、minues()的方法在methods中,然后把plus( )、minues() 绑定在按钮的点击事件上:
div id="app">
    <button v-on:click="minues">减2</button>
    {{a}}
    <button v-on:click="plus">加1</button>
</div>
点击加1按钮成功渲染

四、watch 观察

watch选项是Vue提供的用于检测指定的数据发生改变的api。
释:点击按钮a的值加1的例子,数据也发生了变化;用watch选项来监听数字a是否发生了变化,如果了监听到了变化,在控制台输入以下a的最新值。

new Vue({
    //挂在元素
    el:"#app",
    //实例vm的数据
    data:{
        a:0
     },
     //方法
     methods:{
         plus:function(){
            return this.a++;
         }
     },
     //观察
     watch:{
         a:function(){
            console.log('有变化了,最新值:');
            console.log(this.a);
         }
     }
})

释:最后一部分watch就是新加的代码,a( ) 表示要观察监听的就是数据a,看运行结果:


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

推荐阅读更多精彩内容

  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 5,044评论 0 29
  • 下载安装搭建环境 可以选npm安装,或者简单下载一个开发版的vue.js文件 浏览器打开加载有vue的文档时,控制...
    冥冥2017阅读 6,027评论 0 42
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,598评论 18 139
  • Vue 实例 属性和方法 每个 Vue 实例都会代理其 data 对象里所有的属性:var data = { a:...
    云之外阅读 2,198评论 0 6
  • 2017.3.24 晨起感恩 累计77 感恩大恩上师及诸佛菩萨的护佑和加持 感恩历代宗亲的传承 感恩老妈生养我...
    鹊曾阅读 174评论 0 3