DurandalJS:如何重新定位对话框?

时间:2016-02-25 10:15:51

标签: durandal

我正在使用以下代码在点击发生时显示对话框:

SomeViewModel.prototype.aButtonWasClicked = function() {
    var self = this;
    return dialog.show(new AnotherViewModel(self));
};

这将创建一个绑定到AnotherViewModel的对话框。但是,在某个时刻我会在那里注入内容,并且对话框需要调整大小。

文档说这样做:

dialog.getContext().reposition(view);

但是......什么是“view”以及如何从AnotherViewModel内检索它?

1 个答案:

答案 0 :(得分:1)

reposition函数希望viewDOMElement类型。我假设这是您注入新内容的对话框中包含的视图。您可以从compositionComplete函数获取对它的引用。

如果没有AnotherViewModel的代码,很难帮助解决问题。我只能猜一猜。以下代码仅用于说明目的。

function AnotherViewModel() {
}

AnotherViewModel.prototype.compositionComplete = function(view, parent, context) {
  this.view = view;
  dialog.getContext().reposition(this.view); // assumes you have a reference to `dialog`
};