Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Durandal对话框重新定位不工作_Javascript_Durandal - Fatal编程技术网

Javascript Durandal对话框重新定位不工作

Javascript Durandal对话框重新定位不工作,javascript,durandal,Javascript,Durandal,我一直在尝试重新定位Durandal对话,但没有成功。我使用的代码如下所示: this.compositionComplete = function (child, parent, context) { dialog.getContext().reposition(child); }; 这是对话框模型中的compositionComplete()函数 一旦调用,它就不会出错,它什么也不做,对话框也不会重新定位 我做错了什么?我试图在这里跟随Durandal的文档:对话框。getCont

我一直在尝试重新定位Durandal对话,但没有成功。我使用的代码如下所示:

this.compositionComplete = function (child, parent, context) {
    dialog.getContext().reposition(child);
};
这是对话框模型中的compositionComplete()函数

一旦调用,它就不会出错,它什么也不做,对话框也不会重新定位

我做错了什么?我试图在这里跟随Durandal的文档:

对话框。getContext()返回默认上下文,而不是自定义上下文

如果确实使用自定义对话框上下文,请尝试以下示例compositionComplete方法:

this.compositionComplete = function (child, parent, context) {

    var dialogModel = dialog.getDialog(this);
    dialogModel.context.reposition(child);

}
在此版本中,您将获得视图模型的对话框模型。它是一个包含对话框相关属性和方法的对象


在下一行中,您通过对话框模型在自定义上下文中调用“重新定位”。

很难判断您提供的信息有多少。你能提供更多关于什么是
dialog
的上下文吗,或者
child
是否有值?这都是Durandal框架的一部分。Durandal框架在创建对话框时调用compositionComplete()函数。这有点像C#中的覆盖方法。Durandal将其称为框架生命周期的一部分。我不确定孩子的输入是什么。我尝试按照Durandal文档中的说明进行操作:@Andrew Only自定义对话框上下文具有
compositionComplete
hook。您的对话框是否使用自定义对话框上下文?还是你的意思是这个钩子在你的viewmodel上?@Brett我对Durandal有点陌生,所以我会尽力回答你的问题。我相信这是一个自定义的对话上下文。它有自己的视图和视图模型。