Angularjs Ng在handlebar.JS模板中单击赢得';t火

Angularjs Ng在handlebar.JS模板中单击赢得';t火,angularjs,handlebars.js,Angularjs,Handlebars.js,因此,我正在构建一个应用程序,首先我介绍了handlebar.js,它使用服务器上的JSON进行HTML模板制作,这非常棒 但我想我可能在概念上遗漏了一些东西,因为我知道Angular JS也有模板功能?这些技术不应该一起使用吗 无论如何,因为我首先从handlebar.js开始,所以我在handlebar中有我的模板,模板中包含了一个ng click,它当然不会触发,因为Angular不知道它,并且它不是在Angular中编译的 当我运行类似以下操作时,是否有方法告诉Angular有关把手模板

因此,我正在构建一个应用程序,首先我介绍了handlebar.js,它使用服务器上的JSON进行HTML模板制作,这非常棒

但我想我可能在概念上遗漏了一些东西,因为我知道Angular JS也有模板功能?这些技术不应该一起使用吗

无论如何,因为我首先从handlebar.js开始,所以我在handlebar中有我的模板,模板中包含了一个
ng click
,它当然不会触发,因为Angular不知道它,并且它不是在Angular中编译的

当我运行类似以下操作时,是否有方法告诉Angular有关把手模板中的
ng单击

var source   = $("#newPostTemplate").html();
var template = Handlebars.compile(source);
$("#subBoxone").append(template(theData));
angular.module('handlebarsTemplate', [])
  .directive('handlebarsTemplate', function() {
    return {
      ...
      template: function(tElem, tAttrs) {
        var html = tElem.html();
        var template = Handlebars.compile(html);
        return template;
      }
      ...
    };
  });
或者我应该做一个角度模板?虽然我对Angular中的模板制作一无所知,但是如果继续使用我的handlebar.js实现并从该模板中单击
ng
,那就太好了。我该怎么做

这是带有
ng单击的模板部分:

<button class="btn btn-primary btn-lg thoughtButton" ng-click="pollData()">Submit Additional Comment!</button>
提交附加评论!
我可以将ng click附加到DOM层次结构中更高的另一个元素,并使用
$event
来确定它是否是我认为正确的元素,但我更愿意直接点击生成的
ng click


谢谢,如有必要,我很乐意提供更多信息

您可以为模板部分保留把手,但需要添加一个指令,该指令负责执行把手模板,然后对其进行编译

要编译HTML块,您可以使用带有
模板
/
编译
函数的指令,或使用
$compile
手动编译
链接
函数。我以前从未使用过把手,因此您可能需要进行一些试验,但示例如下:

var source   = $("#newPostTemplate").html();
var template = Handlebars.compile(source);
$("#subBoxone").append(template(theData));
angular.module('handlebarsTemplate', [])
  .directive('handlebarsTemplate', function() {
    return {
      ...
      template: function(tElem, tAttrs) {
        var html = tElem.html();
        var template = Handlebars.compile(html);
        return template;
      }
      ...
    };
  });

因此,无论您在何处拥有车把模板,您只需将其包装在此指令中,并应使用已编译的车把模板对其进行编译。

您可以保留模板部分的车把,但您需要添加一条指令,该指令负责进行车把模板制作,然后对其进行编译

要编译HTML块,您可以使用带有
模板
/
编译
函数的指令,或使用
$compile
手动编译
链接
函数。我以前从未使用过把手,因此您可能需要进行一些试验,但示例如下:

var source   = $("#newPostTemplate").html();
var template = Handlebars.compile(source);
$("#subBoxone").append(template(theData));
angular.module('handlebarsTemplate', [])
  .directive('handlebarsTemplate', function() {
    return {
      ...
      template: function(tElem, tAttrs) {
        var html = tElem.html();
        var template = Handlebars.compile(html);
        return template;
      }
      ...
    };
  });
所以无论你在哪里有你的车把模板,你只需要把它包装在这个指令中,它应该用你编译的车把模板来编译