Taro小程序多端框架探索(2)

2019-05-18  本文已影响0人  wayne1125

1、路由功能

路由跳转
Taro.navigateTo({url: '/pages/index/index'})
Taro.redirectTo({url: '/pages/index/index?name=张三'}) //路由传参
//index.js
componentWillMount () {
let {name} = this.$router.params
console.log(name)
}

2、静态资源引用

3、条件渲染

//三元表达式
 {true? <Button onClick={this.clickHandle.bind(this)}>跳转</Button> : null }
//短路表达式
{true || <Button onClick={this.clickHandle.bind(this)}>跳转</Button> }
<Image className='img' src={imgSrc}></Image>

4、组件传值

//child.js
render () {
   return (
     <View className='index'>
         我是弹框组件
         {this.props.myImg}
         {
           this.props.children
         }
     </View>
   )
 }
//parent.js
render () {
   return (
     <View className='index'>
       <Dialog>
         <Text>我是Text传入的</Text>
       </Dialog>
       <Dialog myImg={<Image src={require('../../img/juren.jpg')}></Image>}>
         <Image src={require('../../img/juren.jpg')}></Image>
       </Dialog>
       <Dialog>
         <Button>按钮</Button>
       </Dialog>
     </View>
   )
 }

5、事件处理

阻止事件冒泡的方式
test (other,event) {
console.log(event,'点击事件',this.state.name,arguments)
event.stopPagenation()
}

let isH5 = process.env.TARO_ENV == "h5"
可通过判断不同端引入不同less样式文件
如:if(isH5){
require('./h5.less')
}else{
require('./weapp.less')
}

6、样式css书写限制

上一篇 下一篇

猜你喜欢

热点阅读