Всем привет, мы снова встретились, я ваш друг Цюаньчжаньцзюнь.
##Page.prototype.setData(Object data, Function callback) setData Функция используется для отправки данных с логического уровня на уровень представления (асинхронно) с одновременным изменением соответствующего this.data значение (синхронизировано). Описание параметра:
Объект представляется в виде ключ:значение, а значение, соответствующее ключу в this.data, заменяется на значение.
Ключ может быть задан в форме пути к данным, который поддерживает изменение элемента в массиве или свойства объекта, например array[2].message, abcd, и его не нужно предварительно определять в this.data. .
Уведомление:
Пример кода:
Page({
/**
* Исходные данные страницы
*/
data: {
value:"начальное значение" //Определяем значение переменной и присваиваем ему значение как: «Инициализация»
},
/**
* Функция жизненного цикла — прослушивание загрузки страницы
*/
onLoad: function (options) {
}
})
Отображается на странице:
Вызов setData() в функции onLoad()
onReady: function () {
this.setData({
value: "Значение, измененное вызовом setData()"
})
},
Запустите еще раз:
##Используется в wx:request() Код:
wx:wx.request({
url: 'http://127.0.0.1:7011/ibeacon/mobile.asmx/getRequest',
data:{userid:this.data.username},
header: {
'content-type': 'application/json'
},
method: 'POST',
dataType: 'json',
success: function(res) {
console.log(JSON.parse(res.data.d));
var value = JSON.parse(res.data.d);
this.setData({
postData:value
})
},
fail: function(res) {},
complete: function(res) {},
});
####Здесь возникнет проблема: использование this.setData() непосредственно в функции обратного вызова успеха wx:request() сообщит о такой ошибке:
Поскольку здесь это относится к текущему объекту wx:request(), мы можем решить это следующим образом: поскольку wx:rewuest() здесь вызывается при загрузке страницы, мы можем определить переменную, которая в onLoad() будет назначена. this к тому, затем that в это время представляет текущий объект относительно onLoad(), а затем используйте that.setData() непосредственно в функции обратного вызова успеха.
Полный код выглядит следующим образом:
//js-текст
onLoad: функция (опции) {
console.log(опции);
вар, что = это;
вар userid = options.userid;
that.setData({
имя пользователя: идентификатор пользователя
})
// this.data.username = JSON.stringify(options);
console.log(this.data.username);
wx:wx.request({
URL: 'http://180.169.225.27:7011/ibeacon/mobile.asmx/getRequest',
данные: {userid: this.data.username},
заголовок: {
«тип контента»: «приложение/json»
},
метод: 'POST',
Тип данных: 'JSON',
успех: функция (рез) {
console.log(JSON.parse(res.data.d));
значение var = JSON.parse(res.data.d);
that.setData({
postData:значение
})
},
неудача: функция (рез) {},
завершено: функция (рез) {},
});
}
//wxml-код
<view wx:for="{
{postData}}">posno:{
{item.posno}},TradeTime:{
{item.TradeTime}}</view>
Обычно получаем данные, возвращаемые сервером:
Ссылки:Публичная платформа Вичат
Издатель: Full stack программист и руководитель стека, укажите источник для перепечатки: https://javaforall.cn/125390.html Исходная ссылка: https://javaforall.cn