gpt4 book ai didi

javascript - 动态 ng-click 不起作用

转载 作者:行者123 更新时间:2023-11-28 05:51:25 25 4
gpt4 key购买 nike

我有一个指令,可以使用 ngClick 处理程序动态创建一个元素并将其附加到指令元素:

app.directive('truncate', ['$compile', function($compile) {
return {
restrict: 'A',
scope: {
textStr: '=',
truncLength: '='
},
link: function(scope, element, attrs) {
scope.open = false;

scope.more = function() {
console.log('hello');
}

scope.less = function() {
var outputEle = angular.element('<span>' + scope.textStr.substring(0, scope.truncLength) + '<a data-ng-click="more()"> more...</a>' + '</span>');
$compile(outputEle, scope);
element.append(outputEle);
}
scope.less();
}
}
}]);

正在添加动态元素,但动态 ngClick (在 less 函数内定义)不起作用。我做错了什么?

最佳答案

编译部分错误。应该是

var outputEle = angular.element('<span>' + scope.textStr.substring(0, scope.truncLength) + '<a data-ng-click="more()"> more...</a>' + '</span>');
$compile(outputEle)(scope);
element.append(outputEle);

请注意,$compile(outputEle) 返回链接函数,接下来您将使用该函数将 DOM 元素连接到范围

关于javascript - 动态 ng-click 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38042535/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com