我有一个包含动态内容的网页。假设这是一个产品页面。当用户直接进入时,example.com/product/123我想在服务器上呈现我的产品模板,并将html发送到浏览器。但是,当用户以后单击指向的链接时,/product/555我想使用JavaScript在客户端上更新模板。
我想使用Knockout.js或Angularjs之类的东西,但是我看不到如何在服务器上用一些初始数据预先填充那些模板,而在客户端上仍然有一个正常运行的模板。即如果我的Angular模板是这样的:
{{feature.title}}
{{feature.description}}
当用户直接转到URL时,我需要一些仍可以用作Angular模板的东西,但需要使用当前产品的html进行填充。显然这是行不通的:
- Hello
This feature was rendered server-side
- Asdf
These are stuck here now since angular won't replace them when
it updates....
似乎我唯一的选择是将服务器呈现的html以及单独的匹配模板发送给浏览器…?
在这种情况下,我想避免每个模板写两次。这意味着我需要要么针对我的服务器语言切换到JavaScript(对此我会不满意),要么选择一种可以同时编译为Java和JavaScript的模板语言,然后找到一种将其黑入Play框架的方法(这就是为什么)我目前正在使用。)
有人有建议吗?