部分视图中的ng应用程序和ng控制器不工作



我有一个通用的Layout页面,我在其中调用_header部分页面,然后渲染正文。在呈现体中,我有几个索引页,它们有自己的ng控制器。当我为_header分部创建ng-controller时,我无法获得这些范围值,而是在主体部分中获得{{header.label}}

如何为部分页面和正文提供单独的模块和控制器。我认为ng-appng-controller造成了一些问题。感谢您的帮助。

这是在我的标签里面

<div>
@Html.Partial("_Header")
</div>
@RenderBody()

如果你的ng控制器在@RenderBody中,那么你的$scope和控制器在这个标签之外没有任何作用。

$rootScope在控制器之间共享,但我认为这是一种糟糕的做法。

如果你愿意,你可以嵌套控制器,但你必须使用"as"一词来指代控制器

或者你可以用他自己的控制器创建一个指令

您可能已经在做了,但由于问题没有提到这一点,您有两个控制器,一个从您的头加载,另一个从RenderBody:

<div class="header" ng-controller="headerController">
[other html here]
</div>
<div class="body" ng-controller="bodyController">
[other html here]
</div>

您也需要为这些添加控制器,这应该可以正常工作。需要在父级添加的ng-app可以在_Layout.cshtml页面中。

最新更新