如何重置所有状态的数据:angularJs UI路由器

时间:2016-03-15 10:26:48

标签: angularjs angular-ui-router

$state.current.data

让我们说我有很多州。当用户从一个州搬到另一个州时 他将数据存储到Select a file to upload: <br /> <form action="http://localhost/file/upload" method="post" enctype="multipart/form-data" accept-charset="UTF-8"> <input type="file" name="file" size="50" /> <input type="submit" value="Upload File" /> </form>

我的问题是,“是否有任何快捷方式或任何技术可以再次重置所有状态的数据”,让我们说一下,当用户从应用程序注销时,我想重置数据。

我不想使用$ window.location.reload()

任何建议/帮助表示赞赏!!

由于

1 个答案:

答案 0 :(得分:2)

您可以使用$state.get()获取所有已配置的状态,然后将data对象重新初始化为所需的值。

重要提示:子状态从其父状态source继承data属性。为了不破坏继承,我们将使用angular.copy

此示例使用data

重新初始化{}对象
angular.forEach($state.get(), function (state) {
  angular.copy({}, state.data);
});

请注意,如果没有明确指定或存储data对象,则无法知道pander对象的原始值。