我使用ng-click选项生成标记,但是ng-click没有调用相应的函数。以下是代码......
1)Javascript
var buffer ='';
buffer += "<div id='Content' x-ng-controller='HomePageMainCntrl'>";
buffer += "<table>";
for(i=0;i<data.newsArchiveList.length;i++)
{
//alert(data.newsArchiveList[i].title);
buffer += "<tr>";
buffer += "<td align=left >"+data.newsArchiveList[i].createDate+"</td>";
buffer += "<td> </td>";
buffer += "<td align=left><a href='' ng-click=showNewsItem(4100); title='Click for more detail'>"+data.newsArchiveList[i].title+"</a>";
buffer += "</td>";
buffer += "</tr>";
}
buffer += "</table>";
buffer += "</div>"
*缓冲输出是:::
<div class='p3rMiddleBodyCommon' id='Content' x-ng-controller='HomePageMainCntrl'>
<table>
<tr>
<td align=left>2015-07-31</td>
<td> </td>
<td align=left><a href='' ng-click=showNewsItem(4100); title='Click for more detail'>Testing_Cma_Admin</a></td>
</tr>
<tr>
<td align=left>2015-04-17</td>
<td> </td>
<td align=left><a href='' ng-click=showNewsItem(4100); title='Click for more detail'>PLEASE READ - TEST</a></td>
</tr>
</table>
</div>
*
var myWindow1 = $window.open("", "News Archive", 'toolbar=0,scrollbars=1,location=0,status=0,menubar=0,resizable=1,width=650, height=550,left = 300,top=100');
myWindow1.document.write(buffer);
$scope.showNewsItem = function(id)
{
alert('showNews Item called '+id);
}
打开新窗口,但没有调用ng-click功能。 请帮帮我
答案 0 :(得分:1)
您的语法不正确。您需要使用此ng-click=showNewsItem(4100);
替换此ng-click="showNewsItem(4100)"
。
ng-click
始终需要"
,就像所有angularJS属性一样
修改:
你有一些;
不应该在你的锚中间......我想我已经解决了所有错误。
var buffer ='';
buffer += "<div id='Content' x-ng-controller='HomePageMainCntrl'>";
buffer += "<table>";
for(i=0;i<data.newsArchiveList.length;i++)
{
//alert(data.newsArchiveList[i].title);
buffer += "<tr>";
buffer += "<td align='left' >"+data.newsArchiveList[i].createDate+"</td>";
buffer += "<td> </td>";
buffer += "<td align='left'><a href='' ng-click='showNewsItem(4100)' title='Click for more detail'>"+data.newsArchiveList[i].title+"</a>";
buffer += "</td>";
buffer += "</tr>";
}
buffer += "</table>";
buffer += "</div>"
答案 1 :(得分:0)
更改为:
buffer += '<td align=left><a href="" ng-click="showNewsItem(4100)"; title="Click for more detail">'+data.newsArchiveList[i].title+'</a>';
buffer += '</td>';