绑定函数传参

  1. <view class="article-list" >
  2. <view class="article {{imgPostion}}" wx:for='{{articleList}}' wx:key='index' data-id="{{item.id}}" bindtap='readDetail'>
  3. <view class="article-info article-info-img">
  4. <view class="article-title">{{ item.title }}</view>
  5. <view class="article-abstract">{{item.abstract}}</view>
  6. </view>
  7. <view class='article-cover' wx:if='{{item.imgURL}}'>
  8. <image lazy-load="true" mode="aspectFill" src="{{item.imgURL}}"></image>
  9. </view>
  10. </view>
  11. </view>
  1. readDetail: function (e) {
  2. var id = e.currentTarget.dataset.id;
  3. wx.navigateTo({
  4. url: '../knowledge/knowledge?id=' + id
  5. })
  6. }

需要带元素上使用data-id绑定参数,然后在函数方法中使用currentTarget.dataset取出这个参数然后使用,这一点和vue不同,vue可以直接在()内传参,感觉这一点vue做的更好

  1. <div id="example-3">
  2. <button v-on:click="say('hi')">Say hi</button>
  3. <button v-on:click="say('what')">Say what</button>
  4. </div>
  1. methods: {
  2. say: function (message) {
  3. alert(message)
  4. }
  5. }

利用url传参

  1. readDetail: function (e) {
  2. var id = e.currentTarget.dataset.id;
  3. wx.navigateTo({
  4. url: '../knowledge/knowledge?id=' + id
  5. })
  6. }
  1. onLoad: function (options) {
  2. this.setData({
  3. knowledgeId: options.id
  4. })
  5. console.log(this.data.knowledgeId)
  6. }