Javascript 角度ng click事件未触发
我有一个函数,在调用时将某些html添加到我的页面:Javascript 角度ng click事件未触发,javascript,html,angularjs,Javascript,Html,Angularjs,我有一个函数,在调用时将某些html添加到我的页面: function htmlAppend(i) { dynamicHtml = dynamicHtml + '<div id="list_item_wrapper">' + '<div class="list_item_template" id="list_image_wrapper">' + '<img class="list_image_style
function htmlAppend(i)
{
dynamicHtml = dynamicHtml + '<div id="list_item_wrapper">' +
'<div class="list_item_template" id="list_image_wrapper">' +
'<img class="list_image_style" ' +
'src=" ' + jsonData.cars[i].ImgURL + ' "/>' +
'</div>' +
'<div class="list_item_template white_font car_details_wrapper">' +
jsonData.cars[i].CarName+ '<br>' +
jsonData.cars[i].Brand + '<br>' +
jsonData.cars[i].Model + '<br>' +
jsonData.cars[i].FuelType + '<br>' +
'<span style="font-size:40px;">' +
'₹ ' + jsonData.cars[i].Price +
'</span> <br> ' +
jsonData.cars[i].Experience +
'<input type="button" id="buy_now_btn" class="button1" ng-click="alert("hi")">Buy</button>' +
'</div>' +
'</div>'
}
函数htmlAppend(i)
{
dynamicHtml=dynamicHtml+“”+
'' +
'' +
'' +
'' +
jsonData.cars[i].CarName+'
'+
jsonData.cars[i].品牌+'
'+
jsonData.cars[i].模型+'
'+
jsonData.cars[i].燃料类型+'
'+
'' +
“₹;”+jsonData.cars[i].价格+
“
”+
jsonData.cars[i].经验+
“买”+
'' +
''
}
问题:现在此html在我的页面中正确显示,但由于某些原因,当单击按钮时,ng click
事件未触发,当我将其替换为onClick
时,然后onClick
触发。我不明白为什么ng click
没有开火,有人能帮忙吗
附加信息:
htmlAppend
是一项服务的私有
功能,在某些用户输入时从控制器调用。不,您不能只在ng单击时写入警报
。当您在ng click指令上写入警报(“hi”)
时,它会自动在控制器中查找名为$scope.alert()
的方法。这就是为什么onClick
可以工作的原因,因为它只是简单的旧JavaScript,其中asng click
涉及范围绑定
在控制器中,写下以下内容:
$scope.alert=function(string){
alert(string);
};
你可以走了。这是工作表
编辑:未仔细阅读您正在动态绑定它。更新的plnkr
对于这种情况,您需要编译它:
var $el = $('<button ng-click=' + 'alert("hello")' + '>I am a button</button>');
$compile($el)($scope).appendTo('#testing');
var$el=$(“我是一个按钮”);
$compile($el)($scope).appendTo(“#testing”);
其中,#testing
可以是您想要的任何DOM选择器
不过,关键是要告诉您不能只在ng click
指令中写入alert
额外的好处:不要在控制器内编写DOM操作逻辑。您可能希望改用指令。可能重复的不工作!我猜是因为您的html是静态的,而我的html是动态的。如果我将绑定到视图的对象作为参数传递给警报函数,则无法运行。如果不使用jquery,我是否可以编译?@varunsinghal65 by object表示角度对象?当然可以。我再次更新了我的plnkr。过来看