我用uni-app编写的导航栏按钮,不知道怎么让它按下拿到data里面的数据
//pages.json
"pages": [
{
"path": "pages/tabBar/front-page/index",
"style": {
"navigationBarTitleText": "首页",
"app-plus": {
"bounce": "vertical",
"titleNView": {
"padding-right": "6px",
"buttons": [{
"text": "发送 ",
// "fontSrc": "/static/uni.ttf",
"fontSize": "16px",
"width":"auto",
"color": "#3370ff"
}]
}
}
}
}
//index.vue页面
onNavigationBarButtonTap() {
uni.request({
url: 'http://192.168.42.129/api/program/program_name.vsn',
method: "POST",
dataType: "JSON",
header: {
'Content-type': "application/json;charset=utf-8"
},
data: {
"Programs": {
"Program": {
"Pages": [{
"Regions": [{
"Rect": {
"X": "3",
"Y": "-40",
"Width": "128",
"Height": "128"
},
"Items": [{
"Type": "5",
"Text": 123,
"LogFont": {
"lfHeight": "12"
},
"textcolor": "0xFF00FF00",
"lfFaceName": "宋体"
}]
}]
}]
}
}
},
success(res) {
uni.showToast({
title: "发送成功",
icon: "success",
mask: "true"
})
console.log("返回的结果为:", res.data)
console.log(this.data)
}
});
}
现在是我们API中data的Text只能是写好的,不能通过变量赋值
尝试在onNavigationBarButtonTap中调用methods的函数,但是不会
能够完成API的请求,同时把vue实例data中某些值赋给接口的Text中
onNavigationBarButtonTap() {
let that = this; //定义that变量,将this指向vue实例
uni.request({
url: 'http://192.168.42.129/api/program/program_name.vsn',
method: "POST",
dataType: "JSON",
header: {
'Content-type': "application/json;charset=utf-8"
},
data: {
"Programs": {
"Program": {
"Pages": [{
"Regions": [{
"Rect": {
"X": "3",
"Y": "-40",
"Width": "128",
"Height": "128"
},
"Items": [{
"Type": "5",
"Text": 123,
"LogFont": {
"lfHeight": "12"
},
"textcolor": "0xFF00FF00",
"lfFaceName": "宋体"
}]
}]
}]
}
}
},
success(res) {
uni.showToast({
title: "发送成功",
icon: "success",
mask: "true"
})
that.getData() //调用methods方法
console.log("返回的结果为:", res.data)
console.log(this.data)
}
});
},
methods: {
getData() {
console.log('我是getData方法')
}
}
onNavigationBarButtonTap,这个API就可以的啊,直接this.就可以去到的啊,当然,因为是写在uni.request中的,所以要注意一下this的指向问题就可以了。