angulaire.js - La valeur définie dans ng-init en angulaire ne peut pas être obtenue dans le contrôleur.
为情所困
为情所困 2017-05-15 17:05:49
0
3
626
  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 ?

为情所困
为情所困

répondre à tous(3)
世界只因有你

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...

过去多啦不再A梦

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

Ty80

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.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal