uniapp中onNavigationBarButtonTap传页面标题id
时间: 2024-01-07 10:05:35 浏览: 74
在uni-app中,可以通过`uni.setStorageSync`方法将页面标题id保存到本地缓存中,然后在`onNavigationBarButtonTap`函数中读取该缓存值。具体实现步骤如下:
1. 在页面加载时,将页面标题id保存到本地缓存中。
```html
<script>
export default {
onLoad() {
uni.setStorageSync('pageId', '页面标题id')
},
methods: {
onNavigationBarButtonTap(event) {
console.log('导航栏按钮被点击了', event)
const pageId = uni.getStorageSync('pageId')
console.log('页面标题id为', pageId)
}
}
}
</script>
```
2. 在导航栏右侧按钮的`@click`事件中,不再直接传递参数,而是调用一个函数来获取参数并传递。
```html
<config>
{
"navigationBarTitleText": "页面标题",
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black",
"enablePullDownRefresh": false,
"usingComponents": {},
"navigationBarRightButton": {
"text": "按钮",
"@click": "onClickRightButton"
}
}
</config>
```
3. 在页面组件中,定义`onClickRightButton`函数,该函数将从本地缓存中获取页面标题id,并且将该id作为参数传递给`onNavigationBarButtonTap`函数。
```html
<script>
export default {
methods: {
onClickRightButton() {
const pageId = uni.getStorageSync('pageId')
this.onNavigationBarButtonTap(pageId)
},
onNavigationBarButtonTap(pageId) {
console.log('导航栏按钮被点击了,页面标题id为', pageId)
}
}
}
</script>
```
这样,当用户点击导航栏右侧按钮时,会依次调用`onClickRightButton`函数和`onNavigationBarButtonTap`函数,并且`onNavigationBarButtonTap`函数将接收到页面标题id作为参数。
阅读全文