今天碰到了一個(gè)這樣的需求,在自己寫的動態(tài)的頁面中,寫入的AngularJS無效不能點(diǎn)擊響應(yīng)事件,以下給出代碼以及解決方案
1.首先將我們要賦值給頁面的數(shù)據(jù)new一下
var html = "<a href='javascript:void(0);' ng-click='test()'></a>"
2.用$compile函數(shù)編譯一下上邊的內(nèi)容
var $html = $compile(html)($scope);
3.將編譯好的內(nèi)容插入到頁面中
$("body").append($html);
完成
以下是完整版本
app.controller('customersCtrl', function ($scope, $http,$compile) { $scope.test = function(){ alert('test'); } // TODO 動態(tài)生成html中 ng-click無效 解決方法 $compile 是傳進(jìn)來的 //下邊這句話就是要寫入頁面中的內(nèi)容,首先把你寫入的內(nèi)容賦值給html var html = "<a href='javascript:void(0);' ng-click='test()'></a>" //用$compile進(jìn)行編譯 var $html = $compile(html)($scope); //添加到頁面中,或者你任何想添加的位置。}); $("body").append($html);
這樣ng-click就可以觸發(fā)function了
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。
新聞熱點(diǎn)
疑難解答