recherche

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

angulaire.js - Pourquoi un ng-click sur une directive dans AngularJS ne peut-il pas transmettre les paramètres ?

Définissez d'abord une directive :

app.directive('conversation', [function() {
    return {
        restrict: 'E',
        templateUrl: 'conversation.html?date' + new Date().getTime(),
        replace: true,
        scope:{
            conversations:"=",
            changeConversation: "&"
        },
        link:function(scope, element, attributes){

        }
    };
}]);

Appeler

<conversation conversations="conversations" change-conversation="changeConversation(conversation)"></conversation>

<ul class="mdui-list">
    <li class="mdui-list-item mdui-ripple" ng-repeat="conversation in conversations" ng-click="changeConversation(conversation)">
        <p class="mdui-list-item-avatar">
            <img ng-src="{{conversation.chatThumbLogo}}"/>
        </p>
        <p class="mdui-list-item-content">
            <p class="mdui-list-item-title">{{conversation.chatName}}</p>
            <!--<p class="mdui-list-item-text mdui-list-item-one-line">hello world</p>-->
            <span class="im_badge" ng-bind="conversation.unreadCount" ng-if="conversation.unreadCount > 0"></span>
        </p>
    </li>
    <li class="mdui-pider-inset mdui-m-y-0"></li>
</ul>

conversation, non définie ne peut pas être imprimée après que ng-click ait déclenché la fonction.

 $scope.changeConversation = function (conversation) {
        console.log(conversation);
    }
滿天的星座滿天的星座2840 Il y a quelques jours617

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

  • 世界只因有你

    世界只因有你2017-05-15 17:13:35

    $scope.changeConversation = function (conversation);

    Il s'agit de la portée du parent. Il n'y a pas de variable de conversation dans la portée de votre parent.

    répondre
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-15 17:13:35

    Je pense aussi que c'est @熊丸子说的那样,conversationCette variable n'est pas celle du parent

    répondre
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-15 17:13:35

    conversation Cette directive restreint : 'E', est un élément et vous ne l'avez pas référencé dans le modèle

    répondre
    0
  • Annulerrépondre