Ich versuche herauszufinden, wie Sie den Inhalt eines Tooltip mit eckigen binden. Ich habe eine Richtlinie, die wie folgt aussieht:AngularJS Bindung jQuery qTip2 Plugin
script.js
var myApp = angular.module('myApp', []);
myApp.directive('initToolbar', function(){
return {
restrict: 'A',
link: function(scope, element, attrs)
{
$(element).qtip({
content: {
ajax:
{
url: 'button.html'
}
},
position: {
my: 'bottom left',
at: 'bottom middle',
target: $(element)
},
hide: {
fixed : true,
delay : 1000
}
});
}
}
});
Es nutzt die qTip2 Plugin from here
Meine index.html sieht wie folgt aus (bitte beachten Sie, dass in der eigentlichen Datei Ich habe alle Quellen in Kopf enthalten, ich einfügen es nur hier nicht Unordnung zu vermeiden):
<body>
<div initToolbar>
<p>
Hover over me. Hover over me. Hover over me.
</p>
</div>
</body>
und
button.html
<div ng-controller="myController">
<button ng-click="someFunction()">Click me</button>
</div>
Wie Sie in der Richtlinie Code sehen können. button.html wird in den Tooltip geladen, dies verhindert jedoch, dass angular ordnungsgemäß funktioniert - Der ng-click funktioniert nicht, wenn button.html in das Popup geladen wird. Das kommt daher, dass angular nichts davon weiß.
Ich weiß auch, dass button.html gültig ist, weil einfach
<ng-include src="'button.html'">
zu index.html funktioniert das Hinzufügen (dh auf den Button führt Funktion())
Also meine Frage ist:
Wie kann ich den tatsächlichen Inhalt des Tooltip mit eckigen binden? Wenn nicht der Inhalt, gibt es eine Möglichkeit, den Tooltip so eckig zu binden? Ich bin vertraut mit $ scope. $ Apply(), aber ich bin mir nicht sicher, wie man es hier benutzt.
Hey ich habe meine Antwort mit einem funktionierenden Plunkr aktualisiert. Hoffentlich hilft es dir noch. Plunkr funktioniert nicht in meinem Büro :-( –