angular动态添加html代码,使用angular2向点击事件添加一个动态创建的html元素

我试图添加一个点击事件到一个动态创建的HTML元素,目前代码如下。使用angular2向点击事件添加一个动态创建的html元素

let parameterLabels = document.getElementById('parameterLabels');

p_meter.classList.add('active', 'filtered');

parameterLabels.innerHTML += `

data-value=${parameter.name}>${parameter.name}

`;

document.getElementById(`remove_${parameter.name}`).addEventListener('click',() => {

this.removeParameter(`${parameter.name}`);

});

目前我通过addEventListener分配click事件,但它仅对创建的元素有效。如果我继续创建新的动态元素,则只有最新的点击事件才能起作用,而不是以前创建的元素的点击事件。有没有一种方法可以绑定html中的click事件,就像angular2 (click)="removeParameter($event)"那样,它也不适合我。任何想法?

+1

我会推荐使用* ngFor来创建动态html元素,通过让数组0123'说** list **并更新** list **将创建动态html元素。 –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
AngularJS是一个流行的JavaScript框架,它允许开发人员使用MVC(模型-视图-控制器)模式来构建Web应用程序。在AngularJS中,动态添加HTML是通过指令来实现的。指令是一种特殊的AngularJS组件,它允许开发人员扩展HTML语法并创建可重用的组件。在这里,我们将介绍如何使用AngularJS指令来动态添加HTML。 首先,我们需要定义一个指令来动态添加HTML。在这个例子中,我们将使用名为“htmlDynamic”的指令。这个指令将接受一个表达式作为参数,该表达式将返回要添加HTML内容。当表达式的值发生变化时,指令将更新元素的内容并编译新的HTML。 下面是一个示例代码,展示了如何使用AngularJS指令来动态添加HTML: var demo = angular.module('demoApp', [ 'ngSanitize' ]); demo.directive('htmlDynamic', function ($compile) { return { restrict: 'A', replace: true, link: function (scope, ele, attrs) { scope.$watch('isDomComplete', function (val) { if (val) { scope.$watch(attrs.htmlDynamic, function(html) { ele.html(html); $compile(ele.contents())(scope); }); } }); } }; }); 在这个例子中,我们定义了一个名为“htmlDynamic”的指令。这个指令使用$compile服务来编译新的HTML,并将其添加元素中。当表达式的值发生变化时,指令将更新元素的内容并重新编译新的HTML。 为了使用这个指令,我们需要在HTML添加一个元素,并将“htmlDynamic”指令添加到该元素中。下面是一个示例代码,展示了如何在HTML使用htmlDynamic”指令: <section ng-controller="DemoCtrl"> <div html-dynamic="content"></div> </section> 在这个例子中,我们将“htmlDynamic”指令添加一个<div>元素中,并将表达式“content”作为参数传递给指令。当表达式的值发生变化时,指令将更新<div>元素的内容并重新编译新的HTML

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值