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.环境变量

process.env.TARO_ENV
环境期变量,也就是说只在开发期使用
应用如下:
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 框架开发 - 事件处理与样式表的更多相关文章

  1. 每天一点点之 taro 框架开发 - taro调用组件传值

    1.调用组件 组件文件 import Taro, { Component } from '@tarojs/taro' import { View } from '@tarojs/components' ...

  2. 每天一点点之 taro 框架开发 - taro静态资源引入

    1.说明: taro中客园自由的引用静态资源,不需要安装任何的loader 引用样式文件 通过ES6的import引入 2.引用js文件 import { functionName } from '. ...

  3. 每天一点点之 taro 框架开发 - taro路由及传参

    1.路由 taro的路由是自带的,不需要我们额外配置,只需要我们在app.js下config中配置pages即可 class App extends Component { config = { pa ...

  4. 每天一点点之vue框架开发 - 引入Jquery

    1. 安装jquery npm install jquery --save-dev 2.在build/webpack.base.conf.js中添加如下内容 var webpack = require ...

  5. 每天一点点之vue框架开发 - 使用vue-router路由

    1.安装路由(安装过的跳过此步) // 进入项目根目录 cd frontend // 安装 npm install vue-router --save-dev 2.在入口文件main.js中引入路由 ...

  6. UI标签库的话题:JEECG智能开发平台 BaseTag(样式表和JS标签的引入)

    UI标签库专题一:JEECG智能开发平台 BaseTag(样式表和JS引入标签) 1.BaseTag(样式表和JS引入标签) 1.1. 演示样例 <t:base type="jquer ...

  7. 每天一点点之 taro 框架 - 生命周期 & state

    注意:从vue过来的小朋友要注意,taro直接赋值时不会更新组件的,同react一致更新数据必须调用setState方法,例如:this.setState({name:'张三'}) 1.render函 ...

  8. 每天一点点之vue框架开发 - vue坑-This relative module was not found

    94% asset optimization ERROR Failed to compile with 1 errors This relative module was not found: * . ...

  9. 每天一点点之vue框架开发 - @click-native-prevent

    1.在封装好的组件上使用,所以要加上.native才能click 2.prevent就相当于..event.preventDefault() 所以@click.native.prevent是用来阻止默 ...

随机推荐

  1. 第1节 kafka消息队列:7、kafka的消费模型

  2. boost::thread demo

    #include <iostream> #include <boost/date_time/gregorian/gregorian.hpp> #include <boos ...

  3. Unity初识项目结构与面板

    一.Unity的项目结构 Unity中的一个项目是有若干个场景组成的,每一个场景又是由若干个游戏对象组成的,每一个游戏对象身上有若干个组件,每一个组件有若干个属性. 项目——>场景——>游 ...

  4. springboot中文官方文档

    springboot中文官方文档 https://www.breakyizhan.com/springboot/3028.html spring框架 https://www.breakyizhan.c ...

  5. leetcode236 Lowest Common Ancestor of a Binary Tree

    """ Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in ...

  6. 八: IO流,数据的读写传输

    IO流概括图: IO流的分类:  按流: 输入流(InputStream和Reader):从硬盘或者别的地方读入内存 输出流(OutputStream和Writer):从内存里向硬盘或别的地方输出 按 ...

  7. SciPy 输入输出

    章节 SciPy 介绍 SciPy 安装 SciPy 基础功能 SciPy 特殊函数 SciPy k均值聚类 SciPy 常量 SciPy fftpack(傅里叶变换) SciPy 积分 SciPy ...

  8. 关于 vue.config.js 文件的配置

    相关文档: https://cli.vuejs.org/zh/config/#vue-config-js

  9. MyBatis Generator 下划线转驼峰命名

    MyBatis Generator配置文件--指定生成实体类使用实际的表列名作为实体类的属性名 table标签下的设置属性useActualColumnNames用于指定生成实体类时是否使用实际的列名 ...

  10. UVA 12511/CSU 1120 virus 最长公共上升子序列

    第一次接触一个这最长公共上升子序列 不过其实搞清楚了跟最长公共子序列和 最长上升子序列如出一辙 两重循环,对于当前不相等的,等于前一个的值,相等的,等于比当前A[i]小的最大值+1.弄个临时变量记录最 ...