【问题标题】:Dojox/mvc/at model scopeDojox/mvc/在模型范围内
【发布时间】:2013-07-19 21:16:07
【问题描述】:
【问题讨论】:
标签:
model-view-controller
dojo
【解决方案1】:
dojox/mvc/at API 通常用于data-dojo-props。关于在那里设置“范围”,我想到了三件事:
- 运行Dojo parser 和
parser.parse(rootNode, {propsThis: scopeObj}); 可以使this 在data-dojo-props 中指定的对象。这样data-dojo-props="widgetProp: at(this, 'scopeObjProp')" 指向scopeObj 中的一个属性。
- 在widgets-in-template 中,
data-dojo-props="widgetProp: at(this, 'widgetsInTemplateProp')" 指向widgets-in-template 实例中的一个属性。
-
Relative data binding 使target 属性在 DOM 中通过“rel:”特殊语法引用。将一个对象设置为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>
希望这会有所帮助。
最好,
晃