学习笔记三--ViewModel选项

ViewModel选项
一、简介
组件的定义是通过一组选项来描述的,而这组选项总是被赋值给<script>中module.exports.
组件--Weex页面是由组件以DOM树的方式构建出来的,Weex支持文字、图片、视频等内容型组件,也支持div、list、scroller等容器型组件,也包括slider、input、textarea、switch等特殊组件。

二、ViewModel中选项介绍
1、数据和方法--data、methods
(1)data选项:这里是个函数,返回该视图模型可监听的数据对象
(2)method选项:包含所有视图模型的方法
最后,每个data或method属性将被代理到视图模型中,古可以通过this.x读写数据,通过this.doThis()调用方法。

module.exports = {

     data:function(){
         return {x:1,y:2}
      },

     methods:{
         doThis:function(){…..},
         doThat:function(){…..}
     }
    ……….

}

2、事件--events
events选项允许开发者在视图模型被创建时注册自定义事件,然后events监听这些事件,通过函数类型的值处理它们

module.exports = {

   data:…..,

   methods:{
       foo:function(){
    …
    this.$emit(‘customtype1’,data)
       }
   },

   events:{
         customtype1:function(e){
               console.log(e.type,e.detail)
         }
   }
   ……..
}

3、生命周期
Weex视图模型支持生命周期的钩子函数,这些钩子函数能被写为组件选项:
--init:在视图模型的构造函数开始调用时激活
--created:当视图模型监听默认数据,但未编译模版时激活
--ready:当视图模型监听默认数据并且编译模版生成虚拟DOM后激活

module.exports = {

     data:…,
    methods:…,
    init:function(){
        console.log(‘ViewModel constructor begins’)
      },
    created:function(){
       console.log(‘Data observation finished’)
    }
     ready:function(){
       console.log(‘Virtual DOM finished’)
    }


}

官网例子
1、data与methods的例子

<template>
  <div style="width:{{w}};height:{{h}};background-color:red;" onclick="update"></div>
</template>

<script>
  module.exports = {

   data:function(){

     return {w:750,h:200}

   },

   methods:{

     update:function(e){

       this.h += 200

     }

   }
  }
</script>

但是:将data选项中function去掉,直接食用w、h;以及将update函数function函数中参数e去掉,也可以达到效果。

<template>
  <div style="width:{{w}};height:{{h}};background-color:red;" onclick="update"></div>
</template>

<script>
  module.exports = {

    data:{
     w:750,h:200
    },

    methods:{
      update:function(){
        this.h += 200
      }
    }


  }
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员的修养

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值