gpt4 book ai didi

javascript - Lightswitch HTML全局JS文件传递变量

转载 作者:行者123 更新时间:2023-12-03 08:29:02 25 4
gpt4 key购买 nike

我知道这在 C# 中是如何工作的,但在 javascript 中不太了解,所以我希望它是相似的。

使用 Javascript,我可以创建一个带有变量 (var defaultValue = "1234") 的 master.js,我可以在与该项目关联的所有其他 javascript 文件中引用该变量吗?

所以就Lightswitch HTML而言,每个屏幕都能够有一个js文件,并且在屏幕上我希望能够检索这个defaultValue。

  1. 这可以做到吗?
  2. 如果是,如何将该值显示到当前屏幕上?

到目前为止我已经创建了一个 main.js 文件,添加了这个功能:

function getDefaultValue(value) {

var value = "1234";

return value;
}

并在default.htm文件中声明js文件:

<script type="text/javascript" src="Scripts/main.js"></script>

我知道这就是我使用其他 JavaScript 文件(如 blob.js、lsWires.js 等)的方式...

在 screen.js 中使用此方法不起作用,因此这些阶段之一会导致错误...

window.alert(main.getDefaultValue(value));

理想情况下,我想使用此默认值来设置值,即 var test = main.getDefaultValue(value)

最佳答案

这当然是可能的,并且您在 default.htm 中使用的脚本声明看起来是正确的。

但是,由于您所描述的方法创建了一个全局 getDefaultValue 函数(添加到全局窗口对象上下文中),因此您不会像在 c# 中那样指定主“命名空间”前缀。

相反,您可以在 LightSwitch 屏幕中使用以下方法,而不是使用 main.getDefaultValue 调用该函数:

myapp.BrowseProducts.created = function (screen) {
window.alert(window.getDefaultValue("123")); // This will display 1234

// As window is a global object, its window prefix can be omitted e.g.
alert(getDefaultValue("123")); // This will display 1234
};

或者,如果您想在 main.js 中定义全局 defaultValue 变量(可能是您想要实现的方法),您将在 main.js 文件中包含以下代码:

var defaultValue = "5678";

然后您可以在 LightSwitch 屏幕中按如下方式访问它:

myapp.BrowseProducts.created = function (screen) {
alert(defaultValue); // This will display 5678
defaultValue = "Hello World";
alert(defaultValue); // This will now display Hello World
};

此外,如果您想在主“命名空间”中组织函数/属性,您可以在 main.js 文件中使用以下类型的方法:-

var main = (function (ns) {

ns.getDefaultValue = function (value) {
var value = "1234";
return value;
};

ns.defaultValue = "5678";

return ns;
})(main || {});

这些将在您的 LightSwitch 屏幕中按如下方式调用:-

myapp.BrowseProducts.created = function (screen) {
alert(main.getDefaultValue("123")); // This will display 1234
alert(main.defaultValue); // This will display 5678
main.defaultValue = "Hello World";
alert(main.defaultValue); // This will now display Hello World
};

以下帖子介绍了这种方法:-

How to span javascript namespace across multiple files?

JavaScript Module Pattern: In-Depth

关于javascript - Lightswitch HTML全局JS文件传递变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33418272/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com