我在JSP中使用Angular ui router(https://github.com/angular-ui/ui-router)。我在main.jsp中有我的模板。 JSP使用模板呈现,该模板具有使用JSTL c:foreach循环创建的表行。我有一个编辑&在我的模板中创建方法。当页面呈现时,我得到以下异常。
Error: undefined is not an object (evaluating 'k.childNodes')
g@../js/lib/vendor/angular.min.js:51:223
<div ui-view="" class="ng-scope">
main.jsp有模板&amp;脚本如下。我在网上Example修改了一个例子。如果你看一下route1.list.html,那就是我在main.jsp模板中所拥有的,除了我使用JSTL加载。我从Angular Team看到了类似的issue。我错过了什么。但是一旦我从SPAN元素中删除ng-click,我就看不到错误。
<div class="content">
<div ui-view></div>
</div>
<!-- Templates below -->
<script id="ports.html" type="text/ng-template">
<div>
<button name="create" value="create" ng-click="createPort()">test</button>
<table>
<thead>
<tr>
<th>Name</th>
<th>Port</th>
</tr>
</thead>
<tbody>
<c:forEach items="${MyForm.portsList}" var="port">
<tr>
<td>${port.name} <p>${port.description}</p></td>
<td><span ng-click="editPort()">${port.id}</span></td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</script>
<script>
var app = angular.module('MyApp',["ui.router","ui.bootstrap"]);
app.config(function($stateProvider, $urlRouterProvider){
$stateProvider
.state('ports', {
url: "/ports",
templateUrl: "ports.html",
controller: PortsCtrl
})
$urlRouterProvider.otherwise("/ports")
})
function PortsCtrl($scope){
$scope.editPort = function(){
console.log("Show ports clicked!);
}
$scope.createPort = function(){
console.log("Show ports clicked!);
}
}
</script>
答案 0 :(得分:0)
刚遇到这个问题,
所以我将你的代码与我的代码进行比较。
在我看来,其原因是HTML注释
所以只需删除此<!-- Templates below -->
我很高兴知道它是否适合你。