recherche

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

angulaire.js - Comment insérer et supprimer dynamiquement des éléments dans Angularjs

Juste comme ça, je souhaite ajouter un élément<p class='main'></p> en html après avoir appuyé sur Entrée. Comment dois-je écrire ce qui suit ? Il y a une autre question. Comment Angularjs fait-il fonctionner le DOM ? Je viens de commencer à l'apprendre et je ne le comprends pas très bien.
var app = angulaire.module('myApp',[])

.controller('todoCtrl',function ($scope) {

    $scope.enterEvent = function(e) {
        var keycode = window.event?e.keyCode:e.which;
        if(keycode==13){

        }
    }
});
黄舟黄舟2861 Il y a quelques jours668

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

  • 滿天的星座

    滿天的星座2017-05-15 17:12:00

    Modèle basé sur les données.
    Vous devez changer votre façon de penser sur le fonctionnement du Dom.
    Que voulez-vous faire après être entré ? Vous avez besoin d'un dom supplémentaire. En supposant que le numéro dom précédent est 0, alors si vous appuyez sur Entrée, ce sera +1.
    Ensuite, c'est simple. Vous définissez d'abord une variable. Que la variable soit initialisée à 1 ou 10 000 dépend de votre humeur.

    <!DOCTYPE html>
    <html>
    
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width">
        <title>JS Bin</title>
        <script src="//cdn.bootcss.com/angular.js/1.5.8/angular.min.js"></script>
    </head>
    
    <body ng-app="myApp">
        <p id="father" ng-controller="todoCtrl">
    
            <p>
                <input id="txt" type="text" ng-keyup="enterEvent($event)" value="">
            </p>
            <p ng-repeat="(i,item) in myDom" class='main'>我是第{{i+1}}个main {{myDom}}</p>
        </p>
    </body>
    <script>
        var app = angular.module('myApp', []);
    
        app.controller('todoCtrl', function($scope) {
            $scope.myDom = [];
            var i = 1;
            $scope.enterEvent = function(e) {
                var keycode = window.event ? e.keyCode : e.which;
                if (keycode == 13) {
                    $scope.myDom.push(i)
                    i++;
                }
            }
    
        });
    </script>
    
    </html>

    répondre
    0
  • 某草草

    某草草2017-05-15 17:12:00

    Vous pouvez mettre ça <p class='main'></p>先写在页面上,写在todoCtrl dedans. Ajoutez ensuite la syntaxe ngShow à l'élément pour contrôler le masquage et l'affichage de l'élément à tout moment :

    <p class='main' ng-show="showMain"></p>
    $scope.showMain=false;
    
    $scope.enterEvent = function(e) {
        var keycode = window.event?e.keyCode:e.which;
        if(keycode==13){
            $scope.showMain=true;
        }
    }

    répondre
    0
  • Annulerrépondre