赞
踩
default Ability下创建components文件夹,在该目录下创建自定义组件tabbar
两种调用方法
命名
element标签导入时设置name属性为“comp”,调用时使用comp标签
不命名
elements标签导入时不设置name属性,调用时默认使用tabbar标签
child.hml
<div class="container">
<div class="box">
<text>我是子组件</text>
<slot></slot>
<slot name="other"></slot>
<button @click="changeFatherNum">点击修改</button>
</div>
</div>
child.css
.box{
width: 90%;
height: 200px;
border: 2px solid #333;
position: fixed;
right: 5%;
bottom: 30%;
}
child.js
export default {
data:{
},
changeFatherNum() {
this.$emit("changeFatherNum")
}
}
child.hml
<text>我是子组件</text>
index.hml
<child></child>
效果
有两种使用方式,第一种“父组件slot内容”未定义slot标签name属性,第二种“父组件slot-other的内容”定义slot标签name属性为“other”
child.hml
<slot></slot>
<slot name="other"></slot>
index.hml
<child>
<text>父组件slot内容</text>
<text slot="other">父组件slot-other的内容</text>
</child>
效果
child.hml
<button @click="changeFatherNum">点击修改</button>
child.js
changeFatherNum() {
this.$emit("changeFatherNum")
}
index.hml
<text>{{num}}</text>
<child @change-father-num="changeNum"></child>
效果
数字随蓝色按钮点击增加
手动创建页面,需要在config.json中添加对应页面定义
使用ide创建,则会自动创建对应页面定义
修改tabbar组建
tabbar.hml
<div class="container">
<toolbar class="tabbar">
<toolbar-item for="{{tabbarItems}}"
icon='{{$idx == index ? $item.simg : $item.img}}'
value='{{$item.name}}'
onclick="jump($idx)" >
</toolbar-item>
</toolbar>
</div>
tabbar.js
jump(index){ switch(index){ case 0: router.push({ uri:"pages/index/index", params:{ info:"这是路由传递的参数" } }); break; case 1: router.push({ uri:"pages/news/news", params:{ info:"这是路由传递的参数" } }); break; case 2: router.push({ uri:"pages/about/about", params:{ info:"这是路由传递的参数" } }); break; case 3: router.push({ uri:"pages/me/me", params:{ info:"这是路由传递的参数" } }); break; } }
效果
点击对应图标跳转对应页面
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。