削除操作を確認するためにポップオーバーを作成しようとしています。クリックオーバーブートストラッププラグイン(サードパーティ)を使用してポップオーバーを作成し、ディレクティブを作成しました。
問題は、ポップオーバーボタンのコンパイル済みHTMLから親/兄弟スコープにアクセスできないことです。
実用的には、このコードが実行していないのは、ポップオーバーの削除ボタンから反復変数(v)を使用してスコープ内のdestroy関数を呼び出すことです。
JSFiddle:
http://jsfiddle.net/maralc/PCB2D/
以下は、ディレクティブのコードです。
function TestCtrl($scope) {
$scope.list = {
id: [{
value: 1},
{
value: 2},
{
value: 3}]
};
$scope.destroy = function(id) {
console.log("destroy called (" + id + ")");
}
}
angular.module('TestApp', []).directive('buttonDelete', function($compile, $rootScope) {
return {
restrict: 'E',
replace: true,
template: '<a class="button-delete"><i style="margin-top: 4px;" class="icon- remove"></i></a>',
link: function(scope, element, attrs) {
// debugger;
//element.bind('click', function(e) {
// var popover = $();
// element.clickover({content: 'test'});
element.clickover({
global: true,
title: 'Are you sure?',
content: function() {
//debugger;
var element = $compile("<div class='btn-toolbar'><button id='button-confirm-delete-cancel' data-dismiss='clickover' class='btn'>Cancel</button><button id='button-confirm-delete-ok' class='btn btn-danger' ng-click='destroy(v)'>Delete</button></div>")(scope.$parent);
return element.html();
}
//});
});
}
}
});