2016-09-09 112 views
0

我是比较新的angulerjs但使用的路线,服务,控制器等,我可以开发与出现在它下面的ng-view页面的导航栏头一个标准的Web应用程序,即混合静态和动态元素头

<body> 

    <header> 
     navbar goes here 
    </header> 

    <div class="content-wrapper" ng-controller="MainController"> 
     <div ng-view></div> 
    </div> 

</body> 

目前,<header>标签之间出现的所有内容都是完全静态的,并且不管ng-view中加载的页面是什么都不会改变。

我现在需要添加一些项目到基于ng-view中的页面的上下文。

所以,我将有一个横跨网站顶部的单个栏(如stackoverflow)。它将包含两个子元素 - 一个将浮动到左侧并且将是静态的,另一个将浮动到右侧,并且其内容将是动态的。

我不确定如何在angularjs做到这一点,因为我相信一个页面只能包含一个ng-view

任何意见,将不胜感激

编辑:添加如下解释:

授予更多的上下文,标题中的其中一个DIV将包含上下文按钮。例如。如果网站正在显示产品项目,则标题中的按钮将为“编辑”,“删除”。如果网站正在显示发票,则标题中的按钮将为“添加产品”,“发送发票”。我的标题基本上与Youtube相似,如果右侧的按钮根据显示的页面类型发生变化

回答

0

我不完全确定您想要在基于ng-view的标题中设置的内容,如果你刚刚开始,你可能想重新考虑一下这里的一些结构。不过,一般情况下,您可以将事物嵌入一点,以便访问MainController的$范围内的对象:

<body> 

    <div ng-controller="MainController"> 
     <header> 
      {{customHeader}} 
     </header> 
     <div class="content-wrapper"> 
      <div ng-view onload={{customHeader = 'something new'}}></div> 
     </div> 
    </div> 

</body> 
+0

感谢您的回复。为了提供更多的上下文,标题中的其中一个DIV将包含上下文按钮。例如。如果网站正在显示产品项目,则标题中的按钮将为“编辑”,“删除”。如果网站正在显示发票,则标题中的按钮将为“添加产品”,“发送发票”。如果右侧的按钮基于正在显示的页面类型而改变,我的标题基本上与Youtube相似。 –

+0

这就是我在这里重新思考你的方法的意思。为什么头文件不能成为你的'ng-view'模板的一部分? –

+0

标题的另一半包含网站的徽标和菜单,两者都不会改变。因此,将它们放在每个ng-view模板中看起来不太合适。此外,ng-view模板将加载一个动画,并且我不希望每个页面更改都会使头部变为动画。 –