不知不觉又到了 第三场的学习了,这次的任务很简单。就是了解html里常用事件在Omi中是如何实现。 今天主要讲坑中坑 需要注意的写法

import { define, WeElement } from 'omi'
import style from './_index.css'define('app-intro', class extends WeElement {static observe = true;static get data() {return {name: "点击一下"}}// data = {//   name:"点击一下"// }css() {return style;}handleClick = () => {this.data.name = 'Google';}render(props, data) {console.log(data);return (<p class="app-intro" onClick={this.handleClick}>{data.name}</p>)}
})复制代码

我昨晚发现 data 定义时候可以这样写的

  data = {name:"点击一下"}复制代码

先看这个例子

我们发现 data 的数据 已经变更了 可是为什么 view 里面的数据根本没有修改呢??

结果我发现dntzhang作者的代码里面有observeobserve是vue数据管理的一种常见的东西

我们需要补回去 observe 也是代码就变成以下的状态

import { define, WeElement } from 'omi'
import style from './_index.css'define('app-intro', class extends WeElement {static observe = true;static get data() {return {name: "点击一下"}}// data = {//   name:"点击一下"// }css() {return style;}handleClick = () => {console.log(this.data)this.data.name = 'Google';}render(props, data) {console.log(data);return (<p class="app-intro" onClick={this.handleClick}>{data.name}</p>)}
})复制代码

设置后

我们很清楚的看到 我们之前的数据类型 已经被 praxy 管理起来了。

Store 事件中处理 需要 observe 吗?

import { define, WeElement } from 'omi'
import style from './_index.css'define('app-intro', class extends WeElement {//static observe = true;static get data() {return {name: "点击一下"}}css() {return style;}handleClick = () => {this.store.rename('*雷')//this.data.name = 'Google';}render(props, data, store) {console.log('This app-intro ', store)return (<p class="app-intro" onClick={this.handleClick}>{store.data.name}</p>)}
})复制代码

可以看出store 很身就自带observe。

其他话题

在 Omi 中 我们的定义方法是有点性格的,他不像React 那样,需要this.xxx.bing(this) 当然 React 也提供 babel 的 配置可以省去 bing的写法 作者发现如果你在omi 用 React 的写法会出现个很好玩的事情,就是Omi 会帮你执行了函数

如果你改成这种写法就会发现 this 不认爹了,在vue属性里面写箭头函数也一样出现个问题

最后作者发现只能用 这样的一种方法去定义函数

handleFunction = () => {
}
复制代码

如果你想使用传参的方式,请不要直接,原因再上面已经讲过

onClick={this.handleFuntion(xxx)}
复制代码

而是要

onClick={(xx)=>{this.handleFuntion(xxxx)}}
复制代码

结语:

从事件这次使用来说,如果你想你的编码水平有所提高,但又不想了解React各种生命周期的复杂,和各种State 状态处理的时候,Omi 在 Vue 和 React 之间中做选择是非常不过。 还有一点就是要注意 omi 目前在国内市场来说 还适应 手机端开发,比较兼容的版本太高了。除非你不做IE开发。还有就是 ui 组件太少。 不过 React 和 Ng 都有 Antd 这个高质量的组件存在,所以React 在国内还算可以。而 Vue ui 太多,可是质量来说,我是真的觉得不行。除非阿里antd团队出 vue 版本的,感觉不太可能

还有蚂蚁金融 原因在于他们处理的数据量太大了,数据模型过于复杂。应该是没空搞一套vue的antd了

还有一点,前端得学起来,别只停留在Vue。我举个简单的例子 var model = {} ; model.submodule = {model:model} 这样的结构在处理复杂数据的时候常见 可以考虑一下 vue里怎么用它 ,或许以后的 Vue 3.0 上使用Typescript可以很简单的实现。那班 70% 会不会学呢?还是说还会选择一个很容易过渡的框架。 Vue 这一点是做的非常玩美。

Omi 入坑指南 Third field 事件入门相关推荐

  1. python这个软件学会能做什么工作-学会Python真的有高收入?盯,请查收这份入坑指南...

    学会Python真的有高收入?盯,请查收这份入坑指南 2018-10-10 20:51:00 567点赞 6312收藏 186评论 小编注:想获得更多专属福利吗?金币加成.尊享众测.专属勋章.达人福利 ...

  2. Camunda BPM工作流引擎入坑指南(一)

    Camunda BPM工作流引擎入坑指南 欢迎使用Camunda BPM工作流 入坑说明书 入坑准备工作 BPMN2.0基础 Camunda实战 Camunda BPM Activiti对比 功能快捷 ...

  3. python web-python web入坑指南

    原标题:python web入坑指南 Invest regularly in your knowledge portfolio. Make learning a habit. 自学python web ...

  4. 微信小程序继续入坑指南

    微信小程序继续入坑指南 wxml 类似于html 感觉和ejs灰常的相似 数据绑定 js Page({data: {message: "hello world"} }) wxml ...

  5. 小白深度学习入坑指南

    小白深度学习入坑指南 小白深度学习入坑指南 写博客的初衷适合的人群 理论篇 说明 数学 CV ML DL 优化 实践篇 linux python 深度学习框架 框架学习 硬件配置 软件环境配置 常见的 ...

  6. Air202入坑指南4---UART2(简单使用)

    Air202入坑指南4-UART2 下面的代码就是这个串口的简单使用的代码,可见波特率是115200,8N1.其他就是定义了一个信号量UART2_RECEIVE,这个信号量作为接收到信号之后串口怎么处 ...

  7. notion 科研_科研新手全面入坑指南

    简介 写论文既是当代大学生的必修课,也是科研工作者的必备技能.尽管大部分少数派读者的人生中都要经历一两次写论文的过程,但那些藏在这个过程里的诸多方法和细节,连你的导师都未必会系统地告诉你. 在这份&l ...

  8. 信息安全之路入坑指南

    作者:腾讯安全平台部研发安全团队 riusksk 疫情下的高考已结束,又快到填志愿的时候了,又有不少知青要加入信息安全这个圈子.为了响应组织号召,撰写此文作为信安行业的入坑指南,希望能对刚入圈的同学有 ...

  9. 平安京服务器维护不能打字,决战!平安京|萌新入坑指南 新手注意六大准则

    原标题:决战!平安京|萌新入坑指南 新手注意六大准则 决战平安京萌新入坑不会玩怎么办?记住下面这六个准则,就是你从新手变成大神的流程.下面带来新手攻略教学,看看都有哪些注意事项. 准则一:熟悉操作方式 ...

最新文章

  1. Linux文本处理(二)
  2. 用Transformer定义所有AI模型!特斯拉AI总监Karpathy发推感叹AI融合趋势
  3. mendeley引用参考文献不显示_免费文献管理器Mendeley
  4. 从零开始学C++之STL(七):剩下5种算法代码分析与使用示例(remove 、rotate 、sort、lower_bound、accumulate)...
  5. 查询php的扩展,php命令行查看扩展信息(示例代码)
  6. python读取读excel,日期变成了数字,解决方法记录
  7. 《SQL Server2008》第二章 创建和管理数据库
  8. php检索特定的关键字的函数,javascript、php关键字搜索函数的使用方法
  9. easyrecovery15绿色版本操作简单数据恢复效果不错
  10. ios模拟器装ipa包_给iOS 模拟器“安装”app文件
  11. win10系统字体 chrome 修改苹果字体
  12. 电脑上如何图片文字识别?哪个工具识别的准确?
  13. oracle按相同年份_英语表达方式有几个类型,时间和日期表达都是不相同的
  14. 监督学习、无监督学习、强化学习的区别
  15. 17、Python的循环结构(一)
  16. 零基础学前端系列教程 | 和前端谈恋爱的第004天——打扮漂亮
  17. mtk智能机平台LCM,CTP的ESD防护处理
  18. Codeforces Round #439 (Div. 2) Problem C (Codeforces 869C) - 组合数学
  19. 如何查看网页上已经保存的密码
  20. 网站加入百度云加速后,出现Error520源站返回未知错误怎么办?

热门文章

  1. 【附源码】Python计算机毕业设计蔬菜订购系统
  2. Hadoop07:SecondaryNameNode以及DataNode介绍
  3. 读书笔记-->《精益数据分析》第二部分 | 第15章:创业阶段1——移情
  4. oracle 重做日志内容,oracle重做日志文件
  5. 浙江大华2015届校园招聘笔试题
  6. 汲取ing《凤凰男与凤凰女》转自Baidu.
  7. 洛谷 P3133 [USACO16JAN]无线电联系Radio Contact DP
  8. MySQL 主键性能解析
  9. Android中各种Span的用法——转载
  10. Linux nohup 命令