Play Framework:子模板中的依赖注入
Play Framework: Dependency Injection in Sub-Templates
我想使用Scala Templates Dependency Injection。
在入口页面上使用它有效:
@this(assets: AssetsFinder)
@(projConfig: ProjectConfig)
@main(projConfig) (assets){
<h1>Sidebar</h1>
} {
<h1>Home page</h1>
}
但是如果我想在像 main 这样的子模板中这样做,它不会。
@this(assets: AssetsFinder)
@(projConfig: ProjectConfig)(content:Html)
<!DOCTYPE html>
<html>
<head>
<title>@projConfig.pageTitle</title>
</head>
<body>
@content
</body>
</html>
这是不可能的还是我错过了什么?
将子模板指定为外部模板的 @this
参数列表中的参数。例如,假设 main
的全名是 views.html.main
,我们有
@this(assets: AssetsFinder, main: views.html.main)
@(projConfig: ProjectConfig)
@main(projConfig) {
<h1>Sidebar</h1>
} {
<h1>Home page</h1>
}
我想使用Scala Templates Dependency Injection。
在入口页面上使用它有效:
@this(assets: AssetsFinder)
@(projConfig: ProjectConfig)
@main(projConfig) (assets){
<h1>Sidebar</h1>
} {
<h1>Home page</h1>
}
但是如果我想在像 main 这样的子模板中这样做,它不会。
@this(assets: AssetsFinder)
@(projConfig: ProjectConfig)(content:Html)
<!DOCTYPE html>
<html>
<head>
<title>@projConfig.pageTitle</title>
</head>
<body>
@content
</body>
</html>
这是不可能的还是我错过了什么?
将子模板指定为外部模板的 @this
参数列表中的参数。例如,假设 main
的全名是 views.html.main
,我们有
@this(assets: AssetsFinder, main: views.html.main)
@(projConfig: ProjectConfig)
@main(projConfig) {
<h1>Sidebar</h1>
} {
<h1>Home page</h1>
}