Javascript VueJS混合方法
我想在VUEJS模块中使用mixin: 模块Javascript VueJS混合方法,javascript,vue.js,Javascript,Vue.js,我想在VUEJS模块中使用mixin: 模块 <script> var GoogleMaps = require('../mixins/GoogleMaps'); export default { mixins: [GoogleMaps], events: { MapsApiLoaded: function(data) { GoogleMaps.initGISMap(data);
<script>
var GoogleMaps = require('../mixins/GoogleMaps');
export default {
mixins: [GoogleMaps],
events: {
MapsApiLoaded: function(data) {
GoogleMaps.initGISMap(data);
}
},
}
</script>
但我得到一个错误,GoogleMaps.initGISMap不是一个函数。如何在组件中使用mixin方法?--编辑以更正我在解释您的需求时犯的错误
当使用mixin时,您不引用方法MixinName.method()-它只是“this”-这些方法和属性由mixin返回,可以说是一阶的,因此它们被绑定到“this”
<script>
var GoogleMaps = require('../mixins/GoogleMaps');
export default {
mixins: [GoogleMaps],
events: {
MapsApiLoaded: function(data) {
this.initGISMap(data);
}
},
}
</script>
var GoogleMaps=require('../mixins/GoogleMaps');
导出默认值{
mixins:[谷歌地图],
活动:{
MapsApiLoaded:函数(数据){
这个.initGISMap(数据);
}
},
}
——编辑以纠正我在解释您的需求时犯的错误
当使用mixin时,您不引用方法MixinName.method()-它只是“this”-这些方法和属性由mixin返回,可以说是一阶的,因此它们被绑定到“this”
<script>
var GoogleMaps = require('../mixins/GoogleMaps');
export default {
mixins: [GoogleMaps],
events: {
MapsApiLoaded: function(data) {
this.initGISMap(data);
}
},
}
</script>
var GoogleMaps=require('../mixins/GoogleMaps');
导出默认值{
mixins:[谷歌地图],
活动:{
MapsApiLoaded:函数(数据){
这个.initGISMap(数据);
}
},
}
我认为您需要使用此选项引用混音。所以在模块this.GoogleMaps.initGISMAP(数据)中,我相信您需要用这个引用mixin。因此,在模块this.GoogleMaps.initGISMAP(数据)中,这是正确的,请看文档和选项合并:这是正确的,请看文档和选项合并: