Phi*_*hix 2 model-view-controller dojo
在dojox/mvc包中使用Stateful对象时,声明性示例似乎在全局命名空间中具有目标模型(在没有"var"关键字的情况下定义).这通过污染全局命名空间违反了良好Javascript设计的一般做法,更不用说使用不同的模型变得困难和混乱.
我的问题是,()声明的范围是什么,以及如何使用位于特定上下文/范围内的模型?
http://dojotoolkit.org/reference-guide/1.9/dojox/mvc.html#id6
其中DojoX中/ MVC /在 API在通常用于是数据道场道具.在我脑海中谈到在那里设置"范围"时有三件事情:
parser.parse(rootNode, {propsThis: scopeObj});可以this在data-dojo-props中指定对象.以这种方式data-dojo-props="widgetProp: at(this, 'scopeObjProp')"指向一处房产scopeObj.data-dojo-props="widgetProp: at(this, 'widgetsInTemplateProp')"指向widgets-in-template实例中的属性.相对数据绑定target通过"rel:"特殊语法使DOM中的属性在DOM中引用.将对象设置为该target属性,registry.byId("scopeWidget").set("target", {First: "John", Last: "Doe"});如下例所示,将填充以下值<input>:
<script type="dojo/require">at: "dojox/mvc/at"</script>
<div id="scopeWidget"
data-dojo-type="dijit/_WidgetBase"
data-dojo-props="target: {}">
<div>
First:
<input data-dojo-type="dijit/form/TextBox"
data-dojo-props="value: at('rel:', 'First')">
</div>
<div>
Last:
<input data-dojo-type="dijit/form/TextBox"
data-dojo-props="value: at('rel:', 'Last')">
</div>
</div>
Run Code Online (Sandbox Code Playgroud)希望这可以帮助.
最好的,晃