【发布时间】:2020-06-24 17:04:04
【问题描述】:
我在 AngularJs 中包含 JSP 文件的应用程序的前面部分。
index.jsp 使用指令 ng-view 来显示视图:
index.jsp
<div ng-view autoscroll="true" style="overflow: auto;"></div>
app.js 和 $routeProvider 将控制器链接到视图(home.jsp 包含一些views.jsp):
app.js
$routeProvider
.when('/Error', {
controller: 'LoginController',
templateUrl: 'modules/authentication/views/errorConnexion.jsp',
hideMenus: true
})
.when('/', {
controller: 'HomeController',
templateUrl: 'modules/home/views/home.jsp'
})
.otherwise({ redirectTo: '/login' });
而我的 HomeController 使用字段来隐藏或显示一些 DOM 元素:
HomeController.js
app.controller('HomeController',
['$timeout',
'service',
'$scope',
'$rootScope',
'$filter',
'$location',
'$window',
'ModalService',
'ngTableParams',
'$http',
'$interval',
'Excel',
function($timeout, service, $scope,
$rootScope, $filter, $location, $window,
ModalService, ngTableParams, $http, $interval, Excel) {
$scope.Hide_Module = true;
})]);
我的控制器孩子:
ChildController.js
app
.controller('ChildController',
function() {
$scope.field = "random";
}
);
最后是问题,视图:
view.jsp
<section ng-controller="ChildController" class="content"
ng-hide="Hide_Module">
问题是:如果我删除部分标签上的 ng-controller 指令,一切都会好的。 但是如果我添加它,主视图(index.jsp)显示view.jsp......
所以我想知道我做错了什么以及angularjs如何处理控制器继承以及它们如何通过视图绑定?
【问题讨论】:
-
由
ng-view指令和ng-controller指令实例化的控制器从父作用域继承作用域属性。
标签: javascript angularjs jsp frontend ngroute