recherche

Maison  >  Questions et réponses  >  le corps du texte

angulaire.js - Comment Angular appelle-t-il la méthode de déclenchement pour les nouveaux nœuds ?

Comment appeler la méthode triggerHandler pour les nœuds ajoutés dynamiquement dans Angular ?

Mes nœuds sont générés dynamiquement à partir d'un tableau :

 <a class="btn btn-default J_Local" href="javascript:void(0);" id="J_MapImg_{{my.sku_val_id}}"  ng-click="uplod($event)"><span>本地上传</span></a>

L'événement de clic est le suivant :

$scope.uplod = function(obj){
    supload.init({
        button: ''+obj.currentTarget.id+'', uploaded: function (uploader, file, response) {
            if (response.code == 1){
                layer.msg(response.msg);
            }
            else {
                $('#'+obj.currentTarget.id).siblings("p.preview").html("<img src='" + response.src + "' width='20' height='20'/>");
            }
        }
    });
    $('#'+obj.currentTarget.id+'').off("click");
}

Mais l'image générée dynamiquement appelle mon téléchargement d'image et nécessite un double-clic pour être punie. Je souhaite qu'elle déclenche automatiquement un clic lorsqu'un clic est généré ?

phpcn_u1582phpcn_u15822873 Il y a quelques jours585

répondre à tous(2)je répondrai

  • 漂亮男人

    漂亮男人2017-05-15 17:10:56

    Si c'est le casangularjs, ce n'est pas une erreur d'y mélanger jQuery
    Pour votre scénario, il n'est pas nécessaire d'insérer dynamiquement du code html, et de maîtriser les points de connaissances suivants

    angular.module('app', [])
    .filter("trustUrl", ['$sce', function ($sce) {
        return function (recordingUrl) {
            return $sce.trustAsResourceUrl(recordingUrl);
        };
    }])
    function($scope, $ajax) {
        $scope.src = null;
        
        $scope.upload = function() {
            $ajax.post(...., function(response){
                $scope.src = response.src;
                $scope.$apply(); //通知更改了
            }
            
        }
    }
    
    
    <img src="{{src || 'http://...../upload.jpg'|trustUrl}}" ng-click="upload()">

    répondre
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-15 17:10:56

    S'il s'agit de jquery, vous devez utiliser le formulaire $().on("click",function(){})

    répondre
    0
  • Annulerrépondre