Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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
Variables 使用typescript将数据从一个视图模型传递到另一个视图模型_Variables_Typescript_Global_Argument Passing - Fatal编程技术网

Variables 使用typescript将数据从一个视图模型传递到另一个视图模型

Variables 使用typescript将数据从一个视图模型传递到另一个视图模型,variables,typescript,global,argument-passing,Variables,Typescript,Global,Argument Passing,我不熟悉typescript,我想做的是从一个视图发布数据(使用该视图对应的viewmodel),并从服务器(控制器)获取一些返回数据,这是一个JSON对象,并将返回的数据传递给下一个视图模型(并在下一个视图中显示)。 我想用Typescript来做。我在名为common的模块中使用了一些代码(我通常希望使用这些代码来提交所有视图),如下所示 export var commonData; function SubmitPage(url: string, dataToPost: JSON, ne

我不熟悉typescript,我想做的是从一个视图发布数据(使用该视图对应的viewmodel),并从服务器(控制器)获取一些返回数据,这是一个JSON对象,并将返回的数据传递给下一个视图模型(并在下一个视图中显示)。 我想用Typescript来做。我在名为common的模块中使用了一些代码(我通常希望使用这些代码来提交所有视图),如下所示

export var commonData;

function SubmitPage(url: string, dataToPost: JSON, nextPage: string) {
    $.post(url, dataToPost, function (returnedData, textStatus) {
        if (textStatus == 'success') {
          commonData = returnedData;
          router.navigate(nextPage);
        }
        else {
            ShowErrorMessage(returnedData);
        }
    })
}
在这里,我可以看到从服务器返回的返回数据,我分配给一个变量commonData,并希望在另一个视图模型中访问它,基本上我希望commonData在所有视图模型中都是全局可访问的。 在我的另一个视图模型中,我使用了类似这样的东西

import common = require('common');
var data = ko.toJS(common.CommonData);
其中common是定义commonData的模块的名称。 现在我认为commonData是未定义的。 我知道我错过了一些非常基本的东西,做了一些错误的事情,但我无法理解。 请帮忙。 谢谢
Ira执行此行时:

import common = require('common');
将运行以下程序:

var commonData;    
function SubmitPage(url: string, dataToPost: JSON, nextPage: string) {
    // whatever 
}

你所做的就是定义一个变量和一个函数<除非调用SubmitPage且xhr完成,否则不会设置代码>公共数据(因此将是未定义的代码)

谢谢你的评论,是的,我知道有些地方很不对劲,但是解决办法是什么呢。我不太精通打字。请不要故意破坏你自己的问题。回到一个有意义的答案,有人花了一些时间给你。