Javascript 如何从viewModels的一个JS文件到另一个JS文件以及主JS文件中获取当前值?
在login.js中,rest API返回某些值,我必须在Dashboard.html中使用这些值,但我无法在Dashboard.js中获取这些值 我还想在index.html中实现同样的功能(即,我必须从login.js获取值) 现在请在下面向我澄清 如何在viewModels中将值从一个js传递到另一个js文件? 如何将值从viewModel js文件传递到main.js文件 login.jsJavascript 如何从viewModels的一个JS文件到另一个JS文件以及主JS文件中获取当前值?,javascript,html,mvvm,knockout.js,oracle-jet,Javascript,Html,Mvvm,Knockout.js,Oracle Jet,在login.js中,rest API返回某些值,我必须在Dashboard.html中使用这些值,但我无法在Dashboard.js中获取这些值 我还想在index.html中实现同样的功能(即,我必须从login.js获取值) 现在请在下面向我澄清 如何在viewModels中将值从一个js传递到另一个js文件? 如何将值从viewModel js文件传递到main.js文件 login.js define(['ojs/ojcore', 'knockout', 'jquery', 'ojs/
define(['ojs/ojcore', 'knockout', 'jquery', 'ojs/ojknockout', 'ojs/ojinputtext'],
function (oj, ko, $,main)
{
var myviewModel = function()
{
var self = this;
self.isLoggedIn = ko.observable(false);
self.username = ko.observable();
self.password = ko.observable();
self.save = function(data, event)
{
$.ajax({
url: "my url",
type: "GET",
headers: { header parameters },
success: function(data)
{
var json =JSON.stringify($.parseJSON(data));
// alert(json);
var val = JSON.parse(json);
self.ERROR_CODE= ko.observable(val.Body.processResponse.ERROR_CODE);
self.ERROR_MSG= ko.observable(val.Body.processResponse.ERROR_MSG);
if(self.ERROR_CODE()=='S')
{
self.isLoggedIn(true);
window.location="js/views/dashboard.html";
}
document.getElementById('errormsg').value=val.Body.processResponse.ERROR_MSG;
},
error: function(jqXHR, exception)
{
alert("Not OK!") ;
}
})
}
}
return new myviewModel();
});
我想传递self.isLoggedIn值。创建一个单独的js文件,比如说xyzState.js,用于在导航或js文件之间保存数据。 现在,这里有几点需要记住
define('xyzstate',
['ko'],
function (ko) {
var self = {};
var clear = function () {
self.isLoggedIn= false;
self = _.extend(self, {
isLoggedIn: false,
});
return self;
});
创建一个单独的js文件,比如xyzState.js,用于在导航或js文件之间保存数据。 现在,这里有几点需要记住
define('xyzstate',
['ko'],
function (ko) {
var self = {};
var clear = function () {
self.isLoggedIn= false;
self = _.extend(self, {
isLoggedIn: false,
});
return self;
});
这就是Oracle JET或knockout中的模块间通信概念。当我们说模块时,它指的是一对html和js(视图和视图模型)文件。因此,当您想要从一个js访问或通信到另一个js时,这意味着您想要进行模块间通信。 Knockout提供了以下函数来完成此操作 ko.dataFor(document.getElementById('homeContent')) 你也可以参考我发现非常有用的oracle博客
她的ko.dataFor(document.getElementById('homeContent'))需要获取要访问可观察变量的模块的元素id。假设有一个模块具有图表组件,并且您想要访问它的钻孔处理程序,您可以在上面的代码中引用图表的元素id。这是Oracle JET或knockout中的模块间通信概念。当我们说模块时,它指的是一对html和js(视图和视图模型)文件。因此,当您想要从一个js访问或通信到另一个js时,这意味着您想要进行模块间通信。 Knockout提供了以下函数来完成此操作 ko.dataFor(document.getElementById('homeContent')) 你也可以参考我发现非常有用的oracle博客
她的ko.dataFor(document.getElementById('homeContent'))需要获取要访问可观察变量的模块的元素id。假设有一个模块具有图表组件,并且您想要访问它的钻孔处理程序,您可以在上面的代码中引用图表的元素id。您尝试了什么?这应该与任何面向对象语言中的工作方式相同。您从创建登录名的主函数中读取了登录名实例的属性。您尝试了什么?这应该与任何面向对象语言中的工作方式相同。您可以从创建登录实例的主函数中读取该实例的属性。