vue和微信小程序的区别、比较

> > > > > > > >

子组件和父组件通信可以通过this.$emit将方法和数据传递给父组件。

在小程序中

父组件向子组件通信和vue类似,但是小程序没有通过v-bind,而是直接将值赋值给一个变量,如下:

<tab-bar currentpage="index">tab-bar>

此处, “index”就是要向子组件传递的值

在子组件properties中,接收传递的值

properties: {

// 弹窗标题

currentpage: { // 属性名

type: String, // 类型(必填),目前接受的类型包括:String, Number, Boolean, Object, Array, null(表示任意类型)

value: 'index' // 属性初始值(可选),如果未指定则会根据类型选择一个

}

}

子组件向父组件通信和vue也很类似,代码如下:

//子组件中

methods: {

// 传递给父组件

cancelBut: function (e) {

var that = this;

var myEventDetail = { pickerShow: false, type: 'cancel' } // detail对象,提供给事件监听函数

this.triggerEvent('myevent', myEventDetail) //myevent自定义名称事件,父组件中使用

},

}

//父组件中

bar>

// 获取子组件信息

toggleToast(e){

console.log(e.detail)

}

如果父组件想要调用子组件的方法

vue会给子组件添加一个ref属性,通过this.$refs.ref的值便可以获取到该子组件,然后便可以调用子组件中的任意方法,例如:

//子组件

bar>

//父组件

this.$ref.bar.子组件的方法

小程序是给子组件添加id或者class,然后通过this.selectComponent找到子组件,然后再调用子组件的方法,示例:

//子组件

bar>

// 父组件

this.selectComponent('#id').syaHello()

小程序和vue在这点上太相似了,有木有。。。

原文:http://developer.51cto.com/art/201808/580362.htm?utm_source=tuicool&utm_medium=referral 如有侵权请联系删除


分享到:


相關文章: