var navigationEntry = {
moduleName: "details-page",
context: {info: "something you want to pass to your page"},
animated: false
};
topmost.navigate(navigationEntry);
......在您要导航到的页面上,选择上下文:
function onLoaded(args) {
console.log(args.object.navigationContext);
}
var data = {
something: 'a value here',
somethingElse: 1
somethingMany: ['a', 'b', 'c']
};
exports.data = data;
在要读取该数据的任何文件中:
var data = require("./myData.js").data;
console.log(data);
阅读有关Javascript中的模块的详细信息
如果要在本地设备上保留数据
如果要写入和读取数据,以便可以在会话之间保存数据:
对于非复杂数据,使用application-settings。例如
var appSettings = require("application-settings");
appSettings.setString("stringKey", "String value"); // Writing
var value = appSettings.getString("stringKey", "No string value"); // Reading
// will return "No string value" if there is no value for "stringKey"
console.log(value)
var documents = fs.knownFolders.documents();
var path = fs.path.join(documents.path, "FileFromPath.txt");
var file = fs.File.fromPath(path);
// Writing text to the file.
file.writeText("Something")
.then(function () {
// Succeeded writing to the file.
}, function (error) {
// Failed to write to the file.
});
var applicationSettings = require("application-settings");
//set somewhere like this
applicationSettings.set<Number|String|Boolean>("sharedVar",1);
//get sharedVar somewhere
applicationSettings.get<Number|String|Boolean>("sharedVar");//if empty it will be null
//or if u want default value if sharedVar wasn't defined
//and if sharedVar was defined then u will get content of sharedVar
applicationSettings.get<Number|String|Boolean>("sharedVar","Default Value");
5条答案
按热度按时间lsmepo6l1#
你的问题可以用多种方式来解读,这让我很难给予你一个好的答案,但我会尽力的:
如果要在导航时将数据从一个页面传递到另一个页面
创建带有上下文的导航条目
......在您要导航到的页面上,选择上下文:
参见导航相关文档
如果您要创建在整个应用程序中可用的数据
只需创建一个singleton并请求它,就像在任何其他Javascript应用程序中一样。
例如
文件:* 我的数据.js*
在要读取该数据的任何文件中:
阅读有关Javascript中的模块的详细信息
如果要在本地设备上保留数据
如果要写入和读取数据,以便可以在会话之间保存数据:
对于非复杂数据,使用
application-settings
。例如Read the docs about application-settings
您还可以使用
file-system
模块将文件**写入设备,例如阅读有关file-system的文档
对于数据库,您可以使用一些模块,例如nativescript-sqlite和nativescript-couchbase
gab6jxml2#
您可以使用global.foo,它将适用于整个应用程序,或者您可以使用应用程序设置模块
文件:
https://docs.nativescript.org/cookbook/application-settings
https://docs.nativescript.org/api-reference/modules/application_settings.html
EDIT:有排印错误,不是全局,而是全局:D
EDIT2:更改文档的应用程序设置和链接中的函数名称
8qgya5xd3#
如果您安装了“本地脚本-本地存储”插件,
第一个月
然后,您将可以像使用浏览器一样访问SessionStorage和LocalStorage。
从docs:
要设置值:
或
免责声明我是作者说plugin。
dxpyg8gm4#
添加LocalStorage和SessionStorage的NativeScript插件如果您尝试使用任何使用localStorage/sessionStorage API的库;或者你想要一个相当简单的存储引擎在这儿。
检查nativescript-localstorage模块
要使用该模块,您只需
require()
它:或者你也可以在你的app. module或者你的文件上导入
localstorage
模块。然后在代码中使用
localStorage
变量,如下所示。这将启用localStorage api,这样您就可以像使用浏览器一样使用它了。
14ifxucb5#
如果您使用的是NS8,请使用@nativescript/core中的"应用程序设置
例如: