每天一点点之 taro 框架开发 - 事件处理与样式表
1.方法调用
state = { name:'张三' }
test(){
this.state.name
}
<button onClick={ this.test.bind(this) } />
调用的时候需要在方法前加上on,如果方法中有需要调用当前页的this,需要绑定this。
还可以通过闭包函数(箭头函数)调用
state = {name:'张三'}
test(){
console.log('test)
}
<button onClick={ ()=>{console.log(this.state.name)} } />
需要注意:这种方法在h5可以使用,但不适用小程序
2.事件
taro事件采用驼峰命名
通过 this.test.bind(this) 添加的事件,在方法的参数中自带event参数,代码如下:
test(event){
console.log(event)
}
render () {
return (
<View className='index'>
<Button onClick={this.test.bind(this)}>测试事件</Button>
</View>
)
}
在被调用的方法中可以通过 event.stopPropagation(); 来阻止事件冒泡
在 bind() 中传递参数,不管参数位置如何,在方法中通过arguments接受到的参数event事件在最后
3.环境变量
const isH5 = process.env.TARO_ENV == "h5";
if(isH5){
require('./h5.less');
}else{
require('./weapp.less')
}
4.样式注意事项
- 错误操作
- #id {}
- div span {}
- span[class='name']
- .a > .b {} 不一定生效
- 正确操作
- 类选择器 必须定义className
- 自定义组件 只对当前组件生效
- flex布局(h5和小程序)
每天一点点之 taro 框架开发 - 事件处理与样式表的更多相关文章
- 每天一点点之 taro 框架开发 - taro调用组件传值
1.调用组件 组件文件 import Taro, { Component } from '@tarojs/taro' import { View } from '@tarojs/components' ...
- 每天一点点之 taro 框架开发 - taro静态资源引入
1.说明: taro中客园自由的引用静态资源,不需要安装任何的loader 引用样式文件 通过ES6的import引入 2.引用js文件 import { functionName } from '. ...
- 每天一点点之 taro 框架开发 - taro路由及传参
1.路由 taro的路由是自带的,不需要我们额外配置,只需要我们在app.js下config中配置pages即可 class App extends Component { config = { pa ...
- 每天一点点之vue框架开发 - 引入Jquery
1. 安装jquery npm install jquery --save-dev 2.在build/webpack.base.conf.js中添加如下内容 var webpack = require ...
- 每天一点点之vue框架开发 - 使用vue-router路由
1.安装路由(安装过的跳过此步) // 进入项目根目录 cd frontend // 安装 npm install vue-router --save-dev 2.在入口文件main.js中引入路由 ...
- UI标签库的话题:JEECG智能开发平台 BaseTag(样式表和JS标签的引入)
UI标签库专题一:JEECG智能开发平台 BaseTag(样式表和JS引入标签) 1.BaseTag(样式表和JS引入标签) 1.1. 演示样例 <t:base type="jquer ...
- 每天一点点之 taro 框架 - 生命周期 & state
注意:从vue过来的小朋友要注意,taro直接赋值时不会更新组件的,同react一致更新数据必须调用setState方法,例如:this.setState({name:'张三'}) 1.render函 ...
- 每天一点点之vue框架开发 - vue坑-This relative module was not found
94% asset optimization ERROR Failed to compile with 1 errors This relative module was not found: * . ...
- 每天一点点之vue框架开发 - @click-native-prevent
1.在封装好的组件上使用,所以要加上.native才能click 2.prevent就相当于..event.preventDefault() 所以@click.native.prevent是用来阻止默 ...
随机推荐
- 第1节 kafka消息队列:7、kafka的消费模型
- boost::thread demo
#include <iostream> #include <boost/date_time/gregorian/gregorian.hpp> #include <boos ...
- Unity初识项目结构与面板
一.Unity的项目结构 Unity中的一个项目是有若干个场景组成的,每一个场景又是由若干个游戏对象组成的,每一个游戏对象身上有若干个组件,每一个组件有若干个属性. 项目——>场景——>游 ...
- springboot中文官方文档
springboot中文官方文档 https://www.breakyizhan.com/springboot/3028.html spring框架 https://www.breakyizhan.c ...
- leetcode236 Lowest Common Ancestor of a Binary Tree
""" Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in ...
- 八: IO流,数据的读写传输
IO流概括图: IO流的分类: 按流: 输入流(InputStream和Reader):从硬盘或者别的地方读入内存 输出流(OutputStream和Writer):从内存里向硬盘或别的地方输出 按 ...
- SciPy 输入输出
章节 SciPy 介绍 SciPy 安装 SciPy 基础功能 SciPy 特殊函数 SciPy k均值聚类 SciPy 常量 SciPy fftpack(傅里叶变换) SciPy 积分 SciPy ...
- 关于 vue.config.js 文件的配置
相关文档: https://cli.vuejs.org/zh/config/#vue-config-js
- MyBatis Generator 下划线转驼峰命名
MyBatis Generator配置文件--指定生成实体类使用实际的表列名作为实体类的属性名 table标签下的设置属性useActualColumnNames用于指定生成实体类时是否使用实际的列名 ...
- UVA 12511/CSU 1120 virus 最长公共上升子序列
第一次接触一个这最长公共上升子序列 不过其实搞清楚了跟最长公共子序列和 最长上升子序列如出一辙 两重循环,对于当前不相等的,等于前一个的值,相等的,等于比当前A[i]小的最大值+1.弄个临时变量记录最 ...