Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度ng click事件未触发_Javascript_Html_Angularjs - Fatal编程技术网

Javascript 角度ng click事件未触发

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

我有一个函数,在调用时将某些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" ' +
        '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;">' +
        '&#8377; ' + 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,其中as
ng 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。过来看