我正在使用AngularJS作为Play 2.0应用程序的前端。我松散地跟随Paul Dijou的blog post来设置HTML5路由。基本上,Play框架为每个未知路由提供index.html
文件,并从那里开始AngularJS路由接管。
在我的应用程序中,我已将导航栏移动到指令中。这在我最初加载我的应用程序时工作正常。但是当我在“更深入”导航到我的Angular应用程序后进行刷新时,Angular会为我的`navbar指令抛出Invalid Template Root
错误。如下所示,模板只有一个根元素,只需要。
我已经检查过此question,但我使用的是templateUrl
属性。
Plunker(内容已删除,但准确无误)
谁能告诉我我做错了什么?
指令:
myDirectives.directive("navbar", function() {
return {
restrict : "E",
replace : true,
templateUrl : "assets/app/partials/navbar.html"
};
});
模板(navbar.html
):
<div ng-controller="NavbarCtrl">
<nav class="navbar navbar-fixed-top">
... (There is more content here but the problem occurs even if this content is removed)
</nav>
</div>
答案 0 :(得分:2)
尝试使用绝对模板替换您的相对模板网址:
// Note the leading '/'.
// You could also try a full URL, although that makes development hard.
templateUrl : "/assets/app/partials/navbar.html"