当前位置: 首页 > 知识库问答 >
问题:

从UI.Router[duplicate]中的子状态控制父作用域变量

汪典
2023-03-14

我只是想问一下如何在一个状态中嵌套视图,以及如何在这些视图之间共享一些上下文。

<body ng-app="app">
  <div ui-view="header"></div>
  <div ui-view="content"></div>
  <div ui-view="footer"></div>
</body>

并且我有一个header.html呈现在UI-View内部,名为header如下所示:

<h1>{{title}}</h1>

这是一个非常简单的模板,但它显示了我有的问题。当呈现UI-View名为Content的组件时,它取决于路由(状态)。headerfooter是在抽象父root状态中定义的,因此我不需要在子状态中重复它们。子状态仅为父状态(index.html)定义内容

例如,如何从子状态控制header.html中的title作用域变量,以便根据状态轻松切换此header视图中的title。我在internet上看到的每一个例子都假设有一个静态的页眉和页脚模板,没有任何变量

我正在使用AngularJSui.routerui.router是否在单状态新上下文中为每个视图定义?

共有1个答案

权兴为
2023-03-14

你要找的是服务。它们基本上是为控制器之外的应用程序保存状态的对象(因此您可以使用它们在两个控制器之间共享数据)。

您还可以使用一个$rootScope对象(它是每个注入它的控制器都可用的一个作用域),但我推荐这种方法(特别是为了将来的维护原因--如果您想升级到angular,它没有rootScope)。

 类似资料:
  • 问题内容: 我已经使用设置了我的控制器 我有一个父/子嵌套控制器的场景。通过使用,我可以毫无问题地访问嵌套html中的父属性,但是我无法弄清楚如何从子控制器中访问父属性。 我试过注入$ scope然后使用,但这不起作用吗? 谁能提供建议? 问题答案: 如果您的HTML如下所示,则可以执行以下操作: 然后您可以按如下方式访问父范围 如果要从视图访问父控制器,则必须执行以下操作: 参见jsFiddle

  • index.js Button.js 我的问题是“如何从Button.js到index.js获取标志值”?(儿童对父母)。

  • 我正在使用opentok SDK进行视频聊天,我需要创建会话。很简单,这部分工作很好。这都是在服务器端Node.js中完成的。 问题是--这主要是因为我仍然没有得到var作用域(尤其是匿名函数和闭包)--我在我的匿名函数中有一个我想要访问的值(最好是通过将它赋给另一个var,一个在它的父作用域中),但是不能! 类似这样的事情: 保留它的初始值“”(空字符串),而不是分配给它的。救命?

  • 问题内容: 我的问题有两个: 1-我使用ui.router有一个父状态和几个子状态,所有状态都需要一个对象(存储在mongodb中),但是所有状态都会更新该对象。在这种情况下,使用父状态的resolve选项填充对象是否有意义? 2-如果这是执行此操作的正确方法,则如何从每个状态将“引用”(由ui.router创建的模拟服务注入器)更新为该对象。 为了帮助解释,他是这个想法的示例(省略了大量代码)

  • 问题内容: 假设我的父组件有两个子组件: 我从Child2获得输入,并将其传递给Parent组件(直到现在,我知道该怎么做)。但是然后我需要将该输入传递给Child1以更新其状态。 我怎样才能做到这一点? 问题答案: 希望您能得到主要想法-在Parent组件中创建一个函数,该函数将更改传递给Child1的值。ReactJS:为什么将组件的初始状态传递为prop是反模式?

  • 我有两个React组件,即和使用了一些重要的UI组件,但我相信它们与我的问题无关。 在,使用effect调用,该函数解析为一个类别数组,例如,。 我的目标是访问父组件()中复选框的状态(选中或未选中)。我采取了这个问题中建议的方法。(见验证答案) 有趣的是,当我记录