<template> <view class="mine-panel-list"> <view class="mine-panel-item"> <uni-forms ref="mineForm" :rules="mineRules" :modelValue="mineFormData"> <uni-forms-item label="姓名" :required="true" name="name"> <uni-easyinput v-model="mineFormData.name" placeholder="请填写姓名" :clearable="false"></uni-easyinput> </uni-forms-item> </uni-forms> </view> <button type="primary" size="mini" @click="save('mineForm')">保存</button> </view> </template> <script> export default { data() { return { mineFormData: { name: uni.getStorageSync('name') || '', // 从本地存储获取之前保存的姓名 }, } }; }, onReady() { this.$refs.mineForm.setRules(this.mineRules) }, methods: { save(ref) { this.$refs[ref].validate().then(res => { console.log('success', res); uni.setStorageSync('name', this.mineFormData.name); // 将姓名保存到本地存储 uni.showToast({ title: '保存成功' }) }).catch(err => { console.log('err', err); }) } } } </script>这是我用hbuilderx做的mine.vue页面,我想让我在mine页面填入的姓名在home.vue页面上被调用显示
时间: 2024-04-22 10:26:25 浏览: 102
在你的`home.vue`页面中,你可以通过以下步骤获取并显示`mine.vue`页面中填入的姓名:
1. 在`home.vue`页面的`data`中定义一个变量来存储姓名数据,例如:
```javascript
data() {
return {
mineName: '' // 存储姓名数据
}
},
```
2. 在`home.vue`页面的`methods`中定义一个方法,用于接收并更新姓名数据,例如:
```javascript
methods: {
updateName(name) {
this.mineName = name; // 更新姓名数据
}
}
```
3. 在`mine.vue`页面中,通过`emit`方法将填入的姓名传递给`home.vue`页面,例如:
```javascript
methods: {
save(ref) {
this.$refs[ref].validate().then(res => {
console.log('success', res);
uni.setStorageSync('name', this.mineFormData.name); // 将姓名保存到本地存储
uni.showToast({
title: '保存成功'
});
// 通过emit方法将姓名传递给home.vue页面
this.$emit('update-name', this.mineFormData.name);
}).catch(err => {
console.log('err', err);
});
}
}
```
4. 在`home.vue`页面中,通过监听`update-name`事件来调用更新姓名数据的方法,例如:
```html
<template>
<div>
<!-- 姓名数据展示 -->
<p>{{ mineName }}</p>
<!-- 其他内容 -->
</div>
</template>
<script>
export default {
data() {
return {
mineName: '' // 存储姓名数据
}
},
methods: {
updateName(name) {
this.mineName = name; // 更新姓名数据
}
},
mounted() {
this.$on('update-name', this.updateName); // 监听update-name事件
},
beforeDestroy() {
this.$off('update-name', this.updateName); // 取消监听update-name事件
}
}
</script>
```
通过以上步骤,你就可以实现在`mine.vue`页面填入的姓名在`home.vue`页面上被调用并显示出来。
阅读全文