Profil detayı eklendi, herkes profillerine girip bir gözatsın! Sevdiğiniz üyelerin cevaplarını takip edin! Tüm güncellemeler

AngularJS Uzak Dosyada Tooltip Çalışmaması

Merhaba arkadaşlar, semantic-ui üzerinde angularjs ile bir çalışmam mevcut. SemanticAngular kullanmıyorum, düz semantic ile angularjs ayrı kullanıyorum. Sorunum ise şu, angular ile routing yaparken uzaktan bir html dosyası çekiyorum ve o dosyada tooltip kullanıyorum. Dolayısıyla uzaktan çektiğim dosyada tooltip çalışmıyor. Tooltip çalıştırma ve src dosyalarını hedef dosyaya ekledim fakat yine çalıştıramadım. Sebebi ne olabilir? Teşekkürler.

1

Cevaplar (1)

İşlem devam ediyor, lütfen bekleyin..
Akif Onur Geçgin
@sealed4burn
6 ay önce [Güncellendi]

Sebebi Anguların önceden derlenmiş olmasıdır. Siz uzaktan bir sayfa çağırdığınızda orada kullandığınız angular elementler client tarafında daha derlenmemiş olur. Bunun çözümü uzaktan getirdiğiniz sayfayı tekrar derlemek. Bu işlemi de $compile angular servisi ile yapabilirsiniz aynı sorunu ajax ile modal çağırdığınızda da yaşarsınız eğer modal'ınızda angular kullandıysanız.


Döküman:

https://docs.angularjs.org/guide/compiler


Örnek Kod:

ngApp.controller("KadroTalepModalCtrl", function ($scope, $compile, $rootScope) {

    $scope.getModal = function (id) {
        var url = $('#islemModal-'+id).attr('data-href');
        var res = "";
        $.ajax({
            url: url,
            type: "get",
            success: function (result) {
                setTimeout(function () {
                    var $div = $(result)[0];
                    var $target = $(".modal-content")[0];
                    $("#removal").remove();
                    $target.append($div);
                    angular.element($target).injector().invoke(function ($compile) {
                        var scope = angular.element($div).scope();
                        $compile($div)(scope);
                        $rootScope.$digest();
                    });
                    $("#modal").modal('show');
                }, 100);


            },
            error: function () { bootbox.alert('An error occured while request is sending'); },
            beforeSend: function () {
                if ($('#islemModal').hasClass("wait"))
                    $('#islemModal').button('loading');
            },
            complete: function () {
                if ($('#islemModal').hasClass("wait"))
                    $('#islemModal').button('reset');
            }
        });
    }
});





İşlem devam ediyor, lütfen bekleyin..

Cevap yaz Sadece sorunun cevabını yazın