我可以在身体标签上放置ui-view吗?

5 angularjs angular-ui-router

我正在开发一个应用程序,其标题的样式和UI选项将根据用户当前所处的状态而改变.例如,如果用户单击主菜单中的上,编辑配置文件,创建播放列表创建图库按钮,将导致标题的以下更改:

  1. 标题的背景改变颜色
  2. 网站徽标将应用CSS3动画,以使其滑入新位置
  3. 徽标旁边会显示一个特定消息(取决于用户所处的状态)
  4. "取消"按钮将显示在标题的右边缘

这意味着我的网站上没有静态元素,因此逻辑告诉我应该放入ui-view我的body标签,从而使它看起来像这样:

<body ng-app="app" ui-view>
Run Code Online (Sandbox Code Playgroud)

我从来没有见过在任何地方使用过的东西,所以我怀疑.有任何想法吗?

Pet*_*ons 3

我不确定这在技术上是否有效,但我相信你应该避免它,因为:

  • 它将要求所有模板都包含最外层<body>标签,这会降低它们的可重用性
  • 这通常是一件不寻常的事情,并且会带来成本,而且我认为这没有什么特别的好处,所以恕我直言,成本/收益分析表明坚持传统的做法:使用<div>s。
  • 我怀疑这实际上可能有效,但通常标签会ng-app在应用程序的整个生命周期中保持不变。如果您交换包含 . 的标签,您可能会遇到一些奇怪的错误ng-app。因此,许多人贴上ng-app第一个<html>标签并称其完成。

但这是您的应用程序,尝试这两种方法的工作量非常低,因此只需尝试一下并看看(并让我们知道您学到了什么)。我认为您不需要等待权威机构的 stackoverflow 答复来使用您的应用程序测试 2 个略有不同的 HTML 结构。