每天一点点之 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是用来阻止默 ...
随机推荐
- Kubernetes——机密数据管理
k8s——机密数据管理1.secret2.configMap kubectl explain secret #查看帮助手册然后将你要加密的变量值做些许处理:echo 123 | base64 ...
- 《C++ Primer(中文版)(第5版)》斯坦利·李普曼 (Stanley B. Lippman) (作者), 约瑟·拉乔伊 (Josee Lajoie) (作者), 芭芭拉·默 (Barbara E. Moo) (作者) azw3
内容简介: 这本久负盛名的C++经典教程,时隔八年之久,终迎来的重大升级.除令全球无数程序员从中受益,甚至为之迷醉的——C++ 大师 Stanley B. Lippman 的丰富实践经验,C++标准委 ...
- Day3-O-Median POJ3579
Given N numbers, X1, X2, ... , XN, let us calculate the difference of every pair of numbers: ∣Xi - X ...
- 如何利用TableView显示自定义nib中创建的UITableViewCell或子类?
1.创建nib文件 cell.xib 2.在nib中拖一个UITableView出来,设置其reuse Identifier,再根据cell UI需要拖出view摆放好 3.创建ViewControl ...
- PCA算法提取人脸识别特征脸(降噪)
PCA算法可以使得高维数据(mxn)降到低维,而在整个降维的过程中会丢失一定的信息,也会因此而实现降噪除噪的效果,另外,它通过降维可以计算出原本数据集的主成分分量Wk矩阵(kxn),如果将其作为数据样 ...
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 辅助类:关闭图标
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 阿里云服务器 :Linux环境下搭建Apache+php+mysql
以前我用的是Windows2012 的服务器,那时候只是抱着玩一玩的心态,所有用的是Windows,但是后来被导师给DISS了,于是决定改服务器的操作系统: (一)下载安装php+mysql+apac ...
- JS动态判断设备类型为PC或者移动端,然后根据设备加载相应的代码
这里是通过JS判断设备之后加载相应的网站,如果是移动端加载m开头的网站域名,如果是PC端就加载 www.开头的正式域名 <script> (function () { var url = ...
- 解题报告:luogu P5020(NOIP 2018 D1T2)
题目链接:P5020 货币系统 \(NOIP\) 的题挺精华啊. 开始感觉自己有隐约的思路,但感觉太暴力,连数据范围都没看,就去看题解了(不会啊). 听说是\(dp\)又是一惊,直接弃疗. 其实只是个 ...
- 前端构建工具gulp超详细配置, 使用教程(图文)
流程 1. 输入命令(可以使用git bash或者命令控制台cmd) npm install -g gulp 安装全局gulp命令 2. 创建一个项目文件夹, 当前项目文件夹下输入命令npm init ...