Hi,
I want to ask the following question:
Are Hub and Sandbox the same things?
Why I ask about this? Please look at an example:
Kernle.register([
{id: 'module-a', 'ModuleA'},
{id: 'module-b', 'ModuleB'}
]);
Kernel.module.define('ModuleA',
{
fieldValue: '',
init: function()
{
}
});
Kernel.module.define('ModuleB',
{
init: function()
{
$('.btn-addItem').click( this.onAddItem );
},
onAddItem: function()
{
// need get ModuleA.fieldValue
// something code...
}
});
I do not know how to get fieldValue properly.
ModuleA can not be inherited by ModuleB, because they are different system components.
============================================================
thinking.....maybe Hub (implementation kerneljs) and Sandbox are different concepts?
Sandbox - get public Modules interface;
Hub - only event hub.
============================================================
Example:
Kernel.module.define('ModuleA',
{
fieldValue: '',
init: function()
{
},
getFieldValue: function()
{
return fieldValue;
}
});
Kernel.sandbox.define('module-a', {
getFieldValue: function()
{
var moduleA = Kernel.module.get( 'module-a' );
return moduleA.getFieldValue();
}
});
Kernel.module.define('ModuleB',
{
init: function()
{
$('.btn-addItem').click( this.onAddItem );
},
onAddItem: function()
{
// get public ModuleA interface
var fieldValue = this.sandbox.get('module-a').getFieldValue();
}
});
I'll be pleased for the clarification.