dojo 1.7,在子类的构造函数中设置ContentPane的内容

时间:2012-05-14 10:42:35

标签: dojo dijit.layout

我有以下子类,派生自ContentPane:

define([
        "dijit/layout/ContentPane",
        "dojo/_base/declare"
    ],

    function (ContentPane, declare) {
        var view = declare("client.View", ContentPane, {
            html: null,
            constructor: function (args) {
                declare.safeMixin(this, args);
                if (this.html !== null) {
                    this.set("content", this.html);
                }
            }
        });
        return view;
    }
);

现在,以下代码在“this.set(”content“,this.html)上抛出TypeError;”行:

var html = "<div>Hello</div>";
var view = View(html);

我应该如何正确设置ContentPane的内容?

1 个答案:

答案 0 :(得分:1)

Ken Benjamin回答了关于Dojo社区的问题(http://dojotoolkit.org/community/):

您正试图在窗口小部件生命周期中过早地设置内容。尝试在postCreate而不是构造函数中执行此操作。

在此处详细了解小部件生命周期:http://dojotoolkit.org/documentation/tutorials/1.6/understanding_widget/