¿Por qué no puedo hacer esto en Angular.js:

document.getElementById('divid').value = 'Change Text to This';

Y lo que es la «derecha» (Angular) forma de hacerlo?

InformationsquelleAutor nelsonic | 2014-08-01

2 Comentarios

  1. 5

    Angular de utilizar el ng-model directiva con el fin de crear un enlace de datos bidireccional entre el modelo (es decir, una variable JS) y la vista (es decir, el <div>). Básicamente, esto significa que cada vez que cambian los datos en la vista (a través de una entrada, por ejemplo), el cambio se verá reflejado en su JS variable. Ver más abajo:

    HTML:

    <html ng-app="myApp">
        <div ng-controller="MyCtrl">
            <div>{{myVariable}}</div>
            <input type="text" ng-model="myVariable" />
        </div>
    </html>

    JS:

    /* App global module */
    var myApp = angular.module('myApp');
    
    /* Define controller to process data from your view */
    myApp.controller('MyCtrl', function($scope) {
    
       $scope.myVariable = "initialValue"; //this is the variable that corresponds to text inserted in your input
    
    });

    Aquí, mivariable tendrá «valorinicial» como un valor inicial. Cualquier cambio adicional de la entrada, se sobrescribe el valor de esta variable.

    También aviso que {{myVariable}} inyecta la variable de los datos en el div. Cuando se cambia el valor en la entrada, el div de texto se cambiarán también.

  2. 1

    Tendría que enlazar un controlador para su marca y activar su Angular de la aplicación.

    <div ng-app="myApp">
        <div id="divid" ng-controller="valueController">{{value}}</div>
    </div>

    Entonces usted puede simplemente definir un alcance variable en el controlador

    myApp.controller("valueController", function($scope) {
        $scope.value = "Hi!";
    });

    Es mejor utilizar el ng-app directiva en la etiqueta HTML de la página

    jsFiddle

Dejar respuesta

Please enter your comment!
Please enter your name here