recherche

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

angulaire.js - Comment lier des événements à des éléments enfants dans des modèles dans des directives angulaires ?

directive('mzIconTransform',['$timeout',function ($timeout) {
    return {
        scope: {
            iconSrc1: '@',
            iconSrc2: '@',
            showFlag: '=',
            clickFunc: '&'
        },
        restrict: 'EA',
        replace: true,
        transclude: true,
        template: '<p><img src="{{iconSrc1}}"  class="icon-button" ng-if="!showFlag" id="icon-off" /><img src="{{iconSrc2}}" class="icon-button" ng-if="showFlag" ng-click="clickFunc()" /></p>',
        link: function (scope, element, attr) {
            var elemChildren = element.children();
            element.bind('touchstart', function () {
                scope.$apply(function () {
                    scope.showFlag = true;
                });
                console.log("touchstart事件触发");
            });
            element.bind('touchend', function () {
                scope.$apply(function () {
                    scope.showFlag = false;
                });
                console.log("touchend事件触发");
            });
        },
    };
}] );

La fonction que je veux est qu'après avoir touché l'image, l'image changera en une autre, puis reviendra une fois le toucher terminé, et en même temps appellera la méthode en ng-click, donc je veux ajoutez le premier img sous l'événement p, mais il semble que l'élément enfant ne puisse pas être obtenu dans la fonction de lien. Existe-t-il un moyen d'obtenir l'élément enfant et de lui lier des événements en même temps

漂亮男人漂亮男人2794 Il y a quelques jours682

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

  • 滿天的星座

    滿天的星座2017-05-15 17:10:16

    element.find('img')[0] Pouvez-vous l'obtenir ?

    répondre
    0
  • 某草草

    某草草2017-05-15 17:10:16

    Modifiez le modèle dans compile
    compile:function(iEle,iAttr){
    //jquery Récupérez la balise img sous l'élément iEle du modèle
    $('img',iEle).attr('someAttr','someValue' );/ /Modifiez un attribut d'élément du modèle, et naturellement vous pouvez modifier ng-click
    }

    répondre
    0
  • 淡淡烟草味

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

    Bonjour, avez-vous résolu ce problème, veuillez le résoudre

    répondre
    0
  • Annulerrépondre