model-view-controller - Dojox/mvc/at 模型范围

标签 model-view-controller dojo

在 dojox/mvc 包中使用有状态对象时,声明性示例似乎在全局命名空间中具有目标模型(没有使用“var”关键字定义)。通过污染全局命名空间,这违反了良好 Javascript 设计的一般做法,更不用说使不同模型的使用变得困难和困惑了。

我的问题是,声明式 at() 的范围是什么?如何使用位于特定上下文/范围内的模型?

http://dojotoolkit.org/reference-guide/1.9/dojox/mvc.html#id6

最佳答案

在哪里dojox/mvc/at API 通常用于 data-dojo-props .关于在那里设置“范围”,我想到了三件事:

  1. 正在运行 Dojo parserparser.parse(rootNode, {propsThis: scopeObj});你可以制作thisdata-dojo-props指定的对象。这样data-dojo-props="widgetProp: at(this, 'scopeObjProp')"指向 scopeObj 中的属性.
  2. widgets-in-template , data-dojo-props="widgetProp: at(this, 'widgetsInTemplateProp')"指向 widgets-in-template 实例中的一个属性。
  3. Relative data binding使 target DOM 中的小部件中的属性通过“rel:”特殊语法引用。将对象设置为 target那里的属性(property),例如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>
    

希望这对您有所帮助。

最好的, 晃

关于model-view-controller - Dojox/mvc/at 模型范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17755632/

相关文章:

javascript - dojo:应用程序页眉/页脚栏

javascript - Dojox.Mobile.ComboBox 不响应 Android 上的选择

Java Web 应用程序 sql 结果与对象列表

database - 在 MVC 模型中实现高效数据访问的最佳平衡点是什么?

javascript - 我不应该使用 backbone.js 因为它使用 hashbangs 吗?

javascript - 如果库吞噬了所有异常,我该如何调试基于 promise 的异步代码?

javascript - Dojo/JSON 对具有多个参数的方法发出请求?

javascript - JQuery DataTable 和 JsonDate,非常基础

php - 我如何在laravel中的 "if"中使用 "whereIn"条件

Firefox 不支持 xhrPost 中的 Content-type header