Dojox / app:是否可以以编程方式定义视图

时间:2015-07-12 21:58:25

标签: javascript dojo dojox.app

是否可以以编程方式编写视图而不是使用html模板?我见过的所有演示都使用了html模板。

2 个答案:

答案 0 :(得分:0)

是的,这是可能的。 将HTML标记添加为属性templateString的字符串, 以下代码不使用.html模板作为您的问题。 您可以使用字符串连接以编程方式修改模板。

有关templateString here的更多信息。

以下示例来自用户Ben,从此answer转到我之前的问题:

require(['dijit/_WidgetBase', 'dijit/_TemplatedMixin', 'dojo/_base/declare', 'dojo/domReady!'], function(_WidgetBase, _TemplatedMixin, declare, domReady) {

    //Foo represent any widget with template available in dojo
    //replace by the widget you want to use
    var Foo = declare([_WidgetBase, _TemplatedMixin], {});

    var foo = new Foo({
      templateString: '<div>This is my teemplate and ${bar}</div>',
      bar: "this is added to the template"
    });

    
    foo.placeAt('layout');

});
<link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dijit/themes/claro/claro.css" media="screen">
<script src="//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js"></script>
<div id="layout"></div>

答案 1 :(得分:0)

您还可以在HTML模板中使用占位符,该模板在模板中定义了基本标记结构,并为JS方面的占位符提供了值。

例如:

1/3

OR

您也可以从“postMixInProperties()”

动态修改某些HTML模板

请参阅窗口小部件生命周期以获取有关该信息的一些信息 http://dojotoolkit.org/reference-guide/1.10/dijit/_WidgetBase.html