使用NativeScript和Angular管理状态

时间:2016-07-23 17:37:35

标签: typescript angular model angular-ui-router nativescript

我是Swift,Objective-C和C#程序员,我正在尝试使用Angular和TypeScript学习NativeScript。我习惯于在我的应用程序中创建一个模型层来维护应用程序状态。即使我没有将状态保存到持久存储,即使我更换屏幕,状态仍然可以保持可用状态。

使用NativeScript和Angular后,我想知道这可能不一样。我正在为我的模型设置价值,当我导航(角度路由器)到新页面时,其中一些丢失了。我已经研究过这个,发现很少引用NativeScript,状态和路由器导航,因此我使用Javascript扩展到单页应用程序。在位于here O' Reilly Media 发布的在线书籍学习JavaScript设计模式中,作者Addy Osmani表示:

  

关于MVC的旧文本也可能包含对模型概念的引用   管理应用程序状态。在JavaScript应用程序状态中有一个   不同的内涵,通常指当前的状态"即   在固定的用户屏幕上查看或子视图(具有特定数据)   点。国家是一个在看时经常讨论的话题   单页应用程序,需要状态的概念   模拟。

所以我推测在NativeScript中使用Angular Router从一个页面导航到另一个页面类似于从一个网页导航到同一个Web应用程序中的另一个网页。在这种情况下,必须从持久存储中重新建立状态。这是一个正确的假设还是我仍然缺少某些东西?

谢谢,

1 个答案:

答案 0 :(得分:1)

如果您在组件的let _regex = new RegExp("L", "gi"); var strings = ["List", "List Items", "List attachments"]; for (let i = 0; i < strings.length; i++) { if (_regex.test(strings[i])) { console.log(strings[i]); } }装饰器中提供服务,然后删除该组件,则服务实例也会消失。

如果您使用@Component()或其他不会被删除的父组件提供服务,那么该服务将保持可用,并且如果具有该服务作为构造函数参数的组件将获得先前的实例注入再次在以后再创建时。