Ответ 1
ОБНОВЛЕНИЕ 1
Обязательно переходите от змеиного футляра к camelCase при переходе с HTML на javascript в angular. Итак, init-toolbar
в html переводит на initToolbar
в javascript.
Вот рабочий пример: http://plnkr.co/edit/l2AJmU?p=preview
HTML
<div init-toolbar="">
<p>
Hover over me. Hover over me. Hover over me.
</p>
</div>
Button.html
<div>
<button ng-click="someFunction()">Click me</button>
</div>
Javacript
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.name = 'World';
$scope.someFunction = function() {
$scope.name = 'FOO BAR';
};
});
app.directive('initToolbar', function($http, $compile, $templateCache){
return {
restrict: 'A',
link: function(scope, element, attrs)
{
$http.get('button.html', {cache: $templateCache}).
success(function(content) {
var compiledContent = $compile(content)(scope);
$(element).qtip({
content: compiledContent,
position: {
my: 'bottom left',
at: 'bottom middle',
target: $(element)
},
hide: {
fixed : true,
delay : 1000
}
});
});
}
}
});
ОРИГИНАЛ
Причина, по которой кнопка не работает, связана с тем, что angular не знает, что она должна привязываться к ней. Вы скажете angular сделать это с помощью $compile. Я мало знаю об этом qTip2 pluggin, но если вы загрузите шаблон, затем скомпилируйте его $compile(template)(scope);
, а затем передайте его qTip2, вы получите ожидаемые результаты.