Return 来自 Spring 个控制器的部分 + 与 ngRoute 的集成
Return partials from Spring controllers + integration with ngRoute
在 上回答后我搜索了很多时间,现在不知道如何解决这个问题:
如何从 Spring 控制器(不是整个页面)中 return 部分以进一步与 ngRoute 集成。上面链接了主要问题。
PS:模板引擎:Thymeleaf
如果您使用 Angular 和 thymeleaf,为避免页面呈现,您可以使用如下指令:
app.directive("show", function() {
return {
restrict: 'E',
scope: {
resolved: '=resolved'
},
templateUrl: '/detail.html'
};
});
指令的 html 应以类似以下内容开头:
<div ng-if="resolved">
<div class="col-md-10" ng-if="deviceDetail">
</div>
</div>
在您的模板中,您可以添加标签:<show resolved="resolved" ng-cloak=""></show>
问题答案:
在 Thymeleaf+angular 中,您不会使用不同的页面。您有一页并在其中呈现部分。正如您所说的第 1、2 页 3.html 和菜单。
我会做的是将菜单作为您页面的模板,然后第 1 到第 3 页包括取决于您在上面做什么。
条件 1:如果信息来自服务器或 spring 您可以在 thymeleaf 上进行。
条件二:如果需要处理信息或与用户交互使用angular.
我把你放在那里的代码是包含页面作为条件 2。如果你需要条件 1,那就更简单了:
在您的页面中:
<div layout:include="blah :: blah">Section that show</div>
与您的页面位于同一文件夹中的新页面(调用 blah.html):
<!DOCTYPE html>
<html>
<body>
<div layout:blah="blah">
here code...
</div>
</body>
</html>
在
如果您使用 Angular 和 thymeleaf,为避免页面呈现,您可以使用如下指令:
app.directive("show", function() {
return {
restrict: 'E',
scope: {
resolved: '=resolved'
},
templateUrl: '/detail.html'
};
});
指令的 html 应以类似以下内容开头:
<div ng-if="resolved">
<div class="col-md-10" ng-if="deviceDetail">
</div>
</div>
在您的模板中,您可以添加标签:<show resolved="resolved" ng-cloak=""></show>
问题答案:
在 Thymeleaf+angular 中,您不会使用不同的页面。您有一页并在其中呈现部分。正如您所说的第 1、2 页 3.html 和菜单。
我会做的是将菜单作为您页面的模板,然后第 1 到第 3 页包括取决于您在上面做什么。
条件 1:如果信息来自服务器或 spring 您可以在 thymeleaf 上进行。 条件二:如果需要处理信息或与用户交互使用angular.
我把你放在那里的代码是包含页面作为条件 2。如果你需要条件 1,那就更简单了:
在您的页面中:
<div layout:include="blah :: blah">Section that show</div>
与您的页面位于同一文件夹中的新页面(调用 blah.html):
<!DOCTYPE html>
<html>
<body>
<div layout:blah="blah">
here code...
</div>
</body>
</html>