我有类似于以下代码的代码来触发click
Angular应用程序中的事件.为什么事件不会触发?
var app = angular.module("myApp", []) app.directive('myTop',function($compile) { return { restrict: 'E', template: '', replace: true, link: function (scope, element) { var childElement = ''; element.append(childElement); $compile(childElement)(scope); scope.clickFunc = function () { alert('Hello, world!'); }; } } })
Shashank Agr.. 6
像这样更改你的编译语句:
$compile(element.contents())(scope);
你传递的是一个DOM字符串childElement
,它实际上不是一个DOM元素,而是一个字符串.但是$compile
需要DOM元素来实际编译内容.
var app = angular.module("myapp", []);
app.directive('myTop', ['$compile',
function($compile) {
return {
restrict: 'E',
template: '',
replace: true,
link: function(scope, element) {
var childElement = '';
element.append(childElement);
$compile(element.contents())(scope);
scope.clickFunc = function() {
alert('Hello, world!');
};
}
}
}
])
像这样更改你的编译语句:
$compile(element.contents())(scope);
你传递的是一个DOM字符串childElement
,它实际上不是一个DOM元素,而是一个字符串.但是$compile
需要DOM元素来实际编译内容.
var app = angular.module("myapp", []);
app.directive('myTop', ['$compile',
function($compile) {
return {
restrict: 'E',
template: '',
replace: true,
link: function(scope, element) {
var childElement = '';
element.append(childElement);
$compile(element.contents())(scope);
scope.clickFunc = function() {
alert('Hello, world!');
};
}
}
}
])