recherche

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

angulaire.js - La valeur définie dans ng-init en angulaire ne peut pas être obtenue dans le contrôleur.

  1. Ma question :
    Comme dans le titre : La valeur définie dans ng-init en angulaire ne peut pas être obtenue dans le contrôleur

  2. Codes associés :

<p class="container" ng-app="app" ng-controller="ctrl" ng-init="demo='风一样的男子'">
    <h1>ng-init</h1>
    <input ng-model="demo" type="text">
    demo = {{demo}}

    <button type="button" ng-click="demoClick()">button</button>
</p>
(function(angular) {
    'use strict';
    var app = angular.module('app', []).controller('ctrl', ctrl);

    function ctrl ($scope, $http) {
        console.log('直接获取: ' + $scope.demo); // undefined

        $http.post('/demo', {
            direction: $scope.demo // undefined
        });

        $scope.demoClick = function () {
            console.log('click: ' + $scope.demo); // 风一样的男子

            $http.post('/demo', {
            direction: $scope.demo // 风一样的男子
        });
        };
    }
}(angular));

POURQUOI ?

为情所困为情所困2783 Il y a quelques jours613

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

  • 世界只因有你

    世界只因有你2017-05-15 17:07:49

    Cela implique le processus de compilation et de liaison de chaque instruction. A noter que sur un même nœud, s'il existe une instruction ngController, il exécutera le processus de compilation avant toute autre instruction (sa priorité est de 500, alors que celle de ngInit est de 450). Par conséquent, lors de l'exécution de la fonction de liaison de ngController, qui est la fonction de contrôleur que nous voyons souvent, ngInit n'a pas terminé le processus de compilation, il ne peut donc naturellement pas obtenir la valeur de démo.

    http://stackoverflow.com/ques...

    répondre
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-15 17:07:49

    La console n'a pas encore été initialisée, essayez la console en montre

    répondre
    0
  • PHP中文网

    PHP中文网2017-05-15 17:07:49

    Si vous souhaitez accéder à la démo à l'emplacement ci-dessus. Je pense qu'il faudrait l'utiliser. $rootscope.demo ou $parentscope.demo

    Le problème ci-dessus devrait être un problème de portée.

    répondre
    0
  • Annulerrépondre