我可以一起使用angular2和Thymeleaf吗?

时间:2016-10-31 13:27:53

标签: angularjs spring-mvc angular thymeleaf angular2-template

我把Thymeleaf th:在angular2模板中,但是th:不会编译。有什么方法可以一起使用它们吗?

import {Component, NgModule} from '@angular/core'
import {BrowserModule} from '@angular/platform-browser'


@Component({
     selector: 'my-app',
     template: `
     <table xmlns:th="http://www.w3.org/1999/xhtml">
         <tbody>
            <tr>
                <th>User Name</th>
                <th th:each="role : ${roles}">
                   <div class="row">
                       <div th:text="${role.type}"></div>
                   </div>
                </th>
            </tr>
        </tbody>
    </table>`,
    })
export class App {}

2 个答案:

答案 0 :(得分:9)

你正在将两个框架混合在一起。 Angular是在客户端处理的前端框架,另一方面Thymeleaf是在服务器端处理的。

您有两种选择:

  • 一起使用Angular和(例如)Spring,您将使用REST 用于将数据从后端公开到Angular(前端)的API,然后 你将使用*ngFor指令。

  • 将Thymeleaf与Spring MVC或Spring Webflow等框架结合使用 等(这里也可以使用Angular,但你必须知道 Thymeleaf处理服务器端,所以你不能放 Thymeleaf代码到JavaScript文件并期望它得到 加工)。

答案 1 :(得分:0)

是的,你可以一起使用Angular和Thymeleaf。在您的代码中,您已将布局信息放入javascript中,这不是一个好习惯;你应该从javascript代码中取出它并使其成为一个html模板。您需要注意放置html模板的位置。请在这里查看我的帖子:

Make Spring Thymeleaf work with AngularJS routeProvider