当前位置:  开发笔记 > 编程语言 > 正文

Angular ng-click无法使用$ compile

如何解决《Angularng-click无法使用$compile》经验,为你挑选了1个好方法。

我有类似于以下代码的代码来触发clickAngular应用程序中的事件.为什么事件不会触发?

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!'); }; } } } ])



  
  




1> Shashank Agr..:

像这样更改你的编译语句:

$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!'); }; } } } ])



  
  


推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有