1
enyo.kind({
name: "TestDialog",
kind: enyo.VFlexBox,
components: [
    {kind: "ApplicationEvents", onLoad: "openDialog"},
    {kind: "ModalDialog", name: "errorDialog", caption: "Error!", components: [
        {kind: "HFlexBox", layoutKind: "HFlexLayout", pack: "center", components: [
            {content: "Oh no!", name: "errorMessage", style: "margin: 20px 0px;", className: "enyo-text-error warning-icon"}
        ]},
        {kind: "Button", caption: "OK", onclick: "closeErrorDialog"}
    ]}
],
openDialog: function() {
    this.$.errorMessage.setContent("This is a sample error message");
    this.$.errorDialog.openAtCenter();
}});

this.$.errorMessage の内容を設定する方法がわかりません。
this.$.errorMessage の内容を設定しようとする行をコメント アウトすると、ダイアログは元の内容で正しく表示されます。私は何を間違っていますか?

注:期待どおりにalert(this.$.errorDialog)表示されますが、 が表示されます。これは、 の他のすべてのコンポーネントにも当てはまります。enyo.ModalDialog
alert(this.$.errorMessage)undefinedthis.$.errorMessage

4

1 に答える 1

2

実際、私は自分の答えを編集しました:

ModalDialog にlazy: falseを指定しない限り、ダイアログが閉じている間はそのコントロールは存在しません。または、 .openAtCenter() の後に .setContent() を実行できます

于 2012-01-10T19:17:23.567 に答える