recherche

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

angulaire.js - Pourquoi Angular ne peut-il pas mettre à jour les variables dans $scope ?

$("#label").on(
                "keydown",
                function(e) {
                    var $this = $(this)
                    if (e.keyCode == 13) {
                        var count = 1;
                        $("#labelShow span").each(function() {
                            ++count;
                        });
                        $(".count").val(count);
                        if (count > 5) {
                            return false;
                        }
                        $("#labelShow").append(
                                '<span class="label label-info">' + $this.val()
                                        + '</span>&nbsp;');
                        
                        $this.val('');
                    }
                });
                
                
                
                

Ce que je veux, c'est appuyer sur Entrée dans la zone de saisie id=label ci-dessus et mettre à jour la valeur de $scope.count, mais je ne sais pas pourquoi elle ne peut pas être mise à jour. .

    var app = angular.module('myApp', [ 'ngAnimate' ]);
        app.controller('myCtrl', function($scope) {
            $scope.showPopupMsg = false;
            $scope.count = 0;
            $scope.$watch('count', function(newValue, oldValue){
                if($scope.count > 5) {
                    $scope.showPopupMsg = true;
                }else {
                    $scope.showPopupMsg = false;
                }
            },true);
        });
        
        app.directive('showDirective', function(){
            return {
                restrict: "E",
                scope:{
                    count:"="
                },
                template:"<input type=\"hidden\" class=\"count\" ng-model=\"count\">",
                link:function(scope, element, attrs){
                    element.bind('change', function(){
                        scope.$apply(function(){
                            scope.count++;
                        });
                    });
                }
                };
        });
大家讲道理大家讲道理2792 Il y a quelques jours509

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

  • 阿神

    阿神2017-05-15 17:10:10

    Vous pouvez surveiller l'événement de retour chariot dans le contrôleur. Pourquoi devez-vous utiliser Jq pour le faire ? Cela ne changera certainement pas la valeur de count

    .

    répondre
    0
  • Annulerrépondre