微信小程序之父子组件传值,父传子,子传父

案例描述:点击按钮出现弹层,弹层为子组件;点击弹层中的关闭,关闭弹层;

父传子:

json文件:声明子组件

{
  "usingComponents": {
    "tem-baomingtan": "/components/baomingtan/baomingtan"
  }
}

页面中使用子组件:在子组件上传值给子组件

<view class="lijibm" bindtap="lijibm">立即报名view>
<tem-baomingtan isinfotan="{{isinfotan}}" />

js文件:点击修改数据

data: {
	isinfotan: false
},
lijibm: function () {
    this.setData({
      isinfotan: true
    })
  }

子组件:

<view class="infoboxtan" wx:if="{{isinfotan}}">
	<image src="../../images/close-xx.png" mode="widthFix" class="close" bindtap="closeinfo" />
	
view>

子传父:

js: properties 接收父组件传来的值,点击关闭事件closeinfo(),加一个触发事件infotan,传值给父组件;

  properties: {
    isinfotan: Boolean
  },
  methods: {
	  closeinfo:function() {
	    this.triggerEvent('infotan', {
	      isinfotan: false
	    });
	  }
  }

父组件页面中接收子组件的触发事件:

<view class="lijibm" bindtap="lijibm">立即报名view>
<tem-baomingtan isinfotan="{{isinfotan}}" bind:infotan="infotan" />

父js: infotan获取子组件传来的值;

data: {
	isinfotan: false
},
  lijibm: function () {
    this.setData({
      isinfotan: true
    })
  },
  infotan: function (e) {
    this.setData({
      isinfotan: e.detail.isinfotan
    })
  },

完成。。

其他父子组件传值文章:https://blog.csdn.net/hope93/article/details/80803447

你可能感兴趣的:(微信小程序)