Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.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 如何在重新加载页面后保存滑块的最后状态_Javascript_Angularjs_D3.js - Fatal编程技术网

Javascript 如何在重新加载页面后保存滑块的最后状态

Javascript 如何在重新加载页面后保存滑块的最后状态,javascript,angularjs,d3.js,Javascript,Angularjs,D3.js,我用d3和angular可视化了这个网络。这是可视化的关键。 我想保存网络的最后一个状态,这样即使我刷新页面,它也会显示最后一个状态。但我不知道怎么做 我读到可以使用sessionStorage或localStorage来完成,但我似乎无法为我的可视化解决这个问题 我尝试将JSON数据设置为sessionStorage,然后获取它: if (sessionStorage) { sessionStorage.setItem("myKey", myJSON.to

我用d3和angular可视化了这个网络。这是可视化的关键。 我想保存网络的最后一个状态,这样即使我刷新页面,它也会显示最后一个状态。但我不知道怎么做

我读到可以使用sessionStorage或localStorage来完成,但我似乎无法为我的可视化解决这个问题

我尝试将JSON数据设置为sessionStorage,然后获取它:

 if (sessionStorage) {
        sessionStorage.setItem("myKey", myJSON.toString());
    }

 if (sessionStorage) {
        sessionStorage.getItem("myKey"); // {"myKey": "some value"}
    }
我也试过这样做:

localStorage.setItem("networkGraph", networkGraph);
var networkGraph = localStorage.getItem("networkGraph");
if (sessionStorage) {
    // Parse the data to a JavaScript Object
    const data = JSON.parse(sessionStorage.getItem("myKey"));
} else {
// Fetch data...
// Set sessionStorage or localStorage
   sessionStorage.setItem("myKey", myJSON.toString());
}

但它不起作用。这样做对吗


任何帮助都将不胜感激

我认为问题可能与您在本地存储器上存储数据的方式有关。您正在将数据保存为字符串,但我认为d3不会将字符串识别为有效的数据选项。因此,你应该这样做:

localStorage.setItem("networkGraph", networkGraph);
var networkGraph = localStorage.getItem("networkGraph");
if (sessionStorage) {
    // Parse the data to a JavaScript Object
    const data = JSON.parse(sessionStorage.getItem("myKey"));
} else {
// Fetch data...
// Set sessionStorage or localStorage
   sessionStorage.setItem("myKey", myJSON.toString());
}


您可以根据自己的需要重新安排逻辑,但想法是最终在从存储器获取数据时应该使用JSON.parse。

我认为问题可能与您在本地存储器上存储数据的方式有关。您正在将数据保存为字符串,但我认为d3不会将字符串识别为有效的数据选项。因此,你应该这样做:

localStorage.setItem("networkGraph", networkGraph);
var networkGraph = localStorage.getItem("networkGraph");
if (sessionStorage) {
    // Parse the data to a JavaScript Object
    const data = JSON.parse(sessionStorage.getItem("myKey"));
} else {
// Fetch data...
// Set sessionStorage or localStorage
   sessionStorage.setItem("myKey", myJSON.toString());
}


您可以根据自己的需要重新安排逻辑,但想法是最终在从存储器获取数据时应该使用JSON.parse。

您的尝试几乎是正确的。唯一需要更改的是本地存储的使用情况。只需添加window或$window更“有角度”的方式来访问窗口变量,如下所示:

$window.localStorage.setItem("networkGraph", JSON.stringify(networkGraph));

此外,如果您正在寻找使用本地存储的简单方法,我建议使用。它让事情变得不那么痛苦:

你的尝试几乎是正确的。唯一需要更改的是本地存储的使用情况。只需添加window或$window更“有角度”的方式来访问窗口变量,如下所示:

$window.localStorage.setItem("networkGraph", JSON.stringify(networkGraph));

此外,如果您正在寻找使用本地存储的简单方法,我建议使用。它使事情变得不那么痛苦:

您确定需要会话存储而不是本地存储吗?在会话存储的情况下,当应用程序的浏览器选项卡关闭时,保存的数据将被删除


您可以编写localStorage.setItem'inputLayerHeight',vm.inputLayerHeight;在onChange处理程序中,记住inputLayerHeight和Number.parseIntlocalStorage.getItem'inputLayerHeight'| | 15以还原vm.inputLayerHeight Slider对象的inputLayerHeight at value属性。同样的方法也可用于保留其他值。

您确定需要会话存储而不是本地存储吗?在会话存储的情况下,当应用程序的浏览器选项卡关闭时,保存的数据将被删除


您可以编写localStorage.setItem'inputLayerHeight',vm.inputLayerHeight;在onChange处理程序中,记住inputLayerHeight和Number.parseIntlocalStorage.getItem'inputLayerHeight'| | 15以还原vm.inputLayerHeight Slider对象的inputLayerHeight at value属性。同样的方法也可以用于保留其他值。

非常感谢。这很有帮助!我非常感激非常感谢你。这很有帮助!我非常感激