我有以下文件结构:
的index.html
TPL / page.html中
app.js
说明
app.js定义了主模块并路由到page.html
index.html定义模板视图,包括app.js
page.html定义了<script>
标签内的PageController和正在使用此控制器的div。
问题 当PageController驻留在page.html中时它不起作用,但是当它被包含到app.js中时它就可以工作了。错误如下:参数'PageController'不是aNaNunction,未定义。
在模板中定义控制器似乎为时已晚。但实际上这是我的要求。我想隐藏所有用户的page.html + controller(甚至是他们的代码),并使Spring安全性仅对特定组可见。这就是为什么我为这个页面定义了安全约束,并希望它只在满足这些约束时执行。
更新#1 控制器定义:
<script type="text/javascript">
mainApp.controller('PageController', function($scope, $rootScope) {
...
});
</script>
<md-content ng-controller="PageController" ...
答案 0 :(得分:0)
如果脚本标记和模板的HTML都在外部html文件中定义,Angular应该抱怨并说你不能在模板文件中有两个根元素。
我的建议是将您的控制器放在一个单独的JS文件中,并在其上设置您的Spring Security权限。如果您使用JSP或类似的东西来呈现主页面,那么如果用户有权访问,您可以在控制器的<script>
标签周围添加条件。