$instance

如果在开发中要引用$instance服务,首先需要在config.json中的services中增加配置, 其次要在main.js或用户自己的创建的其他js文件中,引用该插件。

示例:

{
"develop":{
"html":"index.html",
"css":["./index.css"],
"entry":"./main.js",
"scripts":{
}
},
"plugins":[],
"libs":[],
"services":["$instance"],
"customAttributes":{
"pro":[
]
}
}
(function(){
return {
$data:{
properties:null
$instance:null
},
$methods:{
},
$hookds:{
onInit(properties){
this.$instance=window.services.$instance;
let instance=this.$instance.getInstanceByUuid(properties.base.id);
},
onDestroy(){
},
setData(data,datasourceInfo){
},
outSizeCallBack(info){
}
}
}
})

$instance service中可以通过调用getInstanceByUuid方法可以获取到组件实例。

  • 获取实例:getInstanceByUuid(dsUuid)

    dsUuid:组件的properties.base.id

开发者可以调用$instance.getInstanceByUuid方法来获取自定义外壳组件的实例。

通过组件实例可以访问组件内的属性,例如parentWidget可以访问父组件的实例。