dojox/mvc/StoreRefController¶
Authors: | Akira Sudoh, Ed Chatelain |
---|---|
Developers: | Akira Sudoh, Ed Chatelain |
since: | V1.8 |
Contents
dojox/mvc/StoreRefController
is an inheritance of dojox/mvc/ModelRefController, which keeps a reference to Dojo Object Store (in store
property).
It has several methods to work with the store:
queryStore()
: Runsquery()
against the store, and creates a data model from retrieved datagetStore()
: Runsget()
against the store, and creates a data model from retrieved dataputStore()
: Runsput()
against the storeaddStore()
: Runsadd()
against the storeremoveStore()
: Runsremove()
against the store
dojo/Stateful get()
/set()
/watch()
interfaces in dojox/mvc/StoreRefController
will work with the data model from queryStore()
or getStore()
.
Usage¶
In the example below, the text box refers to value
property in the controller (with ctrl
ID).
The controller provides the value
property, from the data coming from data store (store
property in the controller).
After two seconds, the text box changes from Foo
to Bar
as the controller gets new data from data store.
require([
"dojo/parser", "dojo/when", "dijit/registry", "dojo/domReady!"
], function(parser, when, registry){
when(parser.parse(), function(){
registry.byId("ctrl").getStore("Foo");
setTimeout(function(){ registry.byId("ctrl").getStore("Bar"); }, 2000);
});
});
<script type="dojo/require">at: "dojox/mvc/at"</script>
<span data-dojo-id="store"
data-dojo-type="dojo/store/Memory"
data-dojo-props="data: [{id: 'Foo', value: 'Foo'}, {id: 'Bar', value: 'Bar'}]"></span>
<span id="ctrl" data-dojo-type="dojox/mvc/StoreRefController" data-dojo-props="store: store"></span>
<input type="text"
data-dojo-type="dijit/form/TextBox"
data-dojo-props="value: at('widget:ctrl', 'value')">