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>