Home  >  Article  >  WeChat Applet  >  An introduction to several methods of passing and retrieving values ​​in WeChat development

An introduction to several methods of passing and retrieving values ​​in WeChat development

零下一度
零下一度Original
2017-05-22 11:53:022001browse

This article mainly introduces the relevant information summarized by several methods of transferring and obtaining values ​​​​in WeChat mini programs. Here are detailed explanations of these methods, and sample codes are attached. Friends in need can refer to it

WeChat applet passing value

The common values ​​​​in the applet are as follows. If you write down a complete project, the probability of using it is almost 100%.

  • List index subscript value

  • Page value passing

  • form form value

1. List index subscript value

The implementation method is: data-index="{{index}}" digging and e .currentTarget.dataset.index to fill in the pit

1.1 Generate value

<image src="../../../images/icon_delete.png" /><text>删除</text>

Add data-index="{{index}}" custom attributes and bindings to the delete icon and text Click event bindtap="delete"

<image src="../../../images/icon_delete.png" /><text>删除</text>

implement the delete method and get the index subscript value.


delete: function (e) {
  var index = parseInt(e.currentTarget.dataset.index);
  console.log("index" + index);
}

What happens if e.target is used instead of e.currentTarget?

will cause the index value to be output only if the 89c662c6f8b87e82add978948dc499d2 is clicked, and the click element dc0870658837139040642baa5555a380 or 28f128881ce1cdc57a572953e91f7d0f will output NaN.

What is the use of target? It is used to distinguish sub-elements from external elements when they need to be processed separately. For example, when changing the user's avatar, click on the avatar itself to preview the large image, and Click the entire line where the avatar is to switch the avatar.

1.2 Get the value

Try to find the deletion address of the corresponding element from the index data


// 找到当前地址AVObject对象
var address = that.data.addressObjects[index];
// 给出确认提示框
wx.showModal({
  title: &#39;确认&#39;,
  content: &#39;要删除这个地址吗?&#39;,
  success: function(res) {
    if (res.confirm) {
      // 真正删除对象
      address.destroy().then(function (success) {
        // 删除成功提示
        wx.showToast({
          title: &#39;删除成功&#39;,
          icon: &#39;success&#39;,
          duration: 2000
        });
        // 重新加载数据
        that.loadData();
      }, function (error) {

      });
    }
  }
})

2. Page value passing

Pass the address id from the shipping address list page to the editing page to read the original address for modification.

The address/list page implements the following code


<view class="container" data-index="{{index}}" bindtap="edit"><image src="../../../images/icon_edit.png" /><text>编辑</text></view>

edit: function (e) {
  var that = this;
  // 取得下标
  var index = parseInt(e.currentTarget.dataset.index);
  // 取出id值
  var objectId = this.data.addressObjects[index].get(&#39;objectId&#39;);
  wx.navigateTo({
    url: &#39;../add/add?objectId=&#39;+objectId
  });
},

The address/add page implements the onLoad(options) method, from the url path Get the objectId

onLoad: function (options) {
  var objectId = options.objectId
}

and then access the network and render the page.

3. Form form value

3.1 Method 1, through 8b0563f2b998c6d0b1307ef69602a791 and 0d5a8d767214bf25558ef7380df9603a Tags are used together with the

layout as follows:

<form bindsubmit="formSubmit">
  <input name="detail" placeholder="详情地址" />
  <input name="realname" placeholder="收件人姓名" />
  <input name="mobile" placeholder="手机号码" type="number"/>
  <button formType="submit" type="primary">Submit</button>
</form>

js value:

formSubmit: function(e) {
  // detail
  var detail = e.detail.value.detail;
  // realname
  var realname = e.detail.value.realname;
  // mobile
  var mobile = e.detail.value.mobile;
}

3.2 Method 2,

pass943f6415be4dc012a831a401cd46a2f3Implementation

// 实现相应多个**Confirm方式
detailConfirm: function(e) {
  var detail = e.detail.value;
}
realnameConfirm: function(e) {
  var realname = e.detail.value;
}
mobileConfirm: function(e) {
  var mobile = e.detail.value;
}

It can be seen from the comparison between method one and method two that although they can also achieve the goal of obtaining values, their usage scenarios are different. The former is suitable for submitting a large number of form items. When the user completes personal information and fills in the delivery address, the latter is suitable for only one or two form items, such as entering the Express order number and binding the mobile phone number.

If you need an immediate response similar to ajax, you should choose the latter, because input can use 97657f03b0e24b396cac09fd405cebe1 to get the value instantly, such as product Search Enter mobile phone keywords into the box, and scenes such as iPhone7, Mate8 and other candidate words should appear.

Summary:

List index subscript value, page value, form form value, the first type is used all the time, the second type is also very commonly used, it is just a small program There are generally fewer pages. My current project only has 12 pages. The third type is relatively less used, because the mobile phone is not a productivity tool after all. It is used on registration pages, comment pages, etc.

【Related recommendations】

1. WeChat public account platform source code download

2. 小 Pigcms (PigCms) Micro-commerce system operation version (independent micro-store mall + three-level distribution system)

3. WeChat People Network v3.4.5 Advanced Commercial Edition WeChat Rubik’s Cube Source Code

The above is the detailed content of An introduction to several methods of passing and retrieving values ​​in WeChat development. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn