【发布时间】:2017-03-06 19:05:53
【问题描述】:
我有一个 MVC 应用程序,它有一个主布局,其中有一个 @RenderBody() 来呈现单个页面的正文。在主布局中,我为 body 标签指定了 angularjs 应用名称和控制器名称。
我希望在单独的全局 angular.js 文件中定义控制器。这将共享每个页面都可以利用的通用功能。
myApp.controller('myController', ['$scope', '$http', function ($scope, $http) {
$scope.sharedFunction = //...shared function stuff
})';
我还想在 MVC 的子页面中添加特定的作用域函数和变量。当我到达子页面时,如果我使用相同的语法,我相信我最终会重新定义控制器。
myApp.controller('myController', ['$scope', '$http', function ($scope, $http) {
$scope.showOverlay = false;
}]);
我怎样才能使在正文中定义的同一控制器在使用@RenderBody() 呈现的子页面中获得添加到它的页面特定项?
【问题讨论】:
-
这不是 ASP.NET MVC 的问题。您需要相应地设置您的 Angular 代码。见:docs.angularjs.org/guide/controller#scope-inheritance-example
标签: javascript angularjs asp.net-mvc razor