カスタム jQuery プラグインを使用するディレクティブがあります。プラグインはテンプレート html を返し、いくつかのリストを表示しますが、そのテンプレート内でAngularJsディレクティブを使用しようとすると、「ng-click」またはカスタムディレクティブはそれを拾わないだけです。
firebug または chrome デバッガー ツールでソースを開くと、その div に class="ng-scope" が追加されていないことがわかります。しかし、この div はメインの ng-app div の下の階層にあるので、すべての子 div に継承する必要があると考えました。
繰り返しますが、このコントローラーとディレクティブは機能します。唯一の機能しない部分は、jQuery プラグイン内から結果テンプレートに追加したng-clickです。ここで何が問題なのですか?
myApp.directive("myDirective", function(){
return{
restrict: 'A',
link: function(scope, element,attrs) {
$(element).selectAutoComplete({
dataSourceDelegate: scope.dataSource1,
dataSourceObject: { value: "id", display: "title"},
resultTemplate: '<div>show some data as list</div> <div id="internalTemplate"
ng-click="doSomething()"> Show Next </div>'
});
}
}
});
そしてHtmlで
<div ng-controller="myController">
<input my-directive type="text" />
</div>