【发布时间】:2017-06-18 00:37:51
【问题描述】:
我有这样的代码:
$scope.printOutRowModel = function(){
console.log("blah");
}
$scope.createTable = function(name)
{
var element = angular.element(document.querySelector('.popup'));
var content = "";
content+='<div><hr/>';
content+='<h4>'+name+'</h4>';
content+='<table><thead>';
var columnName = Object.keys($scope.genericModel[name][0]);
for(var i=0; i<columnName.length; i++)
{
if(columnName[i] != "$$hashKey")
{
content+='<th>'+columnName[i]+'</th>';
}
}
content+='</thead><tbody>';
for(var j=0; j<$scope.genericModel[name].length; j++)
{
content+='<tr>';
var value = Object.values($scope.genericModel[name][j]);
for(var i=0; i<value.length-1; i++)
{
content+='<td>'+value[i]+'</td>';
}
content+='</tr>';
value = null;
}
content+='</tbody></table></div>';
element.html(content);
}
所以现在我要做的就是将 'ng-click = "printOutRowModel()"' 添加到生成的 "td" 元素中。我尝试了多种方法,但我不工作。当我将它添加到我的 index.html 中已经存在的任何其他元素时,它确实有效。所以我猜这个生成的 HTML 没有在范围内“编译”。那么有没有办法做到这一点呢?
【问题讨论】:
标签: javascript html angularjs scope append