首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用ng-switch加载内容

如何使用ng-switch加载内容
EN

Stack Overflow用户
提问于 2019-01-15 07:25:50
回答 1查看 273关注 0票数 0

我们的团队正在用ServiceNow开发一个应用程序,并且已经创建了一个嵌入了其他几个小部件的大小部件。每个嵌入的小部件都包含在它自己的选项卡中,我们使用ng-switch在每个选项卡之间切换。ServiceNow有一个名为recordWatch的客户端API,如果在相应的后端表中添加/删除了一个条目,它将在不重新加载的情况下更新页面上的内容。我们遇到了一个问题,只有在预先选择了正确的选项卡后,内容才会更新。

例如,我们有一个工作历史选项卡。如果我们已经在Work History选项卡上,并且在后端添加了一个新条目,那么该选项卡上的内容将自动更新,而无需重新加载。然而,如果我们做了同样的事情,而另一个选项卡打开了,那么我们就需要重新加载才能看到这些更新。

我们想确认的是,ng-switch只在单击关联选项卡时呈现,而不是一次加载所有内容,并且只隐藏到单击关联选项卡为止。如果前者是正确的,那么为了让我们的recordWatch正常工作,我们需要放弃ng-switch吗?我们是否可以采用其他方法来满足我们的需求?谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-15 17:52:52

ngHide/ngShow和ngIf/ngSwitch有一个很大的区别。ngHide实际上只是设置css display:none,而如果满足条件,ngIf/ngSwitch将从DOM中删除HTML并读取它。https://stackoverflow.com/a/16742553/2157581

因此,非活动ngSwitch中的所有小部件都不会运行。

您可以很容易地将您的小部件从ngSwitch重写为ngHide。你应该先试一试。

最佳实践是创建一个服务,它是一个单例,可以导入到所有指令/小部件中。此服务应采用recordWatch逻辑并保存指令的模型。这样,如果您ngSwitch到一个新指令,它将使用来自正在运行的服务的最新数据。https://fdietz.github.io/recipes-with-angular-js/controllers/sharing-code-between-controllers-using-services.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54190661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档