Rumah  >  Soal Jawab  >  teks badan

angular.js - angular中ng-init中定义值在控制器里面获取不到值

  1. 我的问题:
    如题: angular中ng-init中定义值在控制器里面获取不到值

  2. 相关代码:

<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));

WHY?

为情所困为情所困2738 hari yang lalu571

membalas semua(3)saya akan balas

  • 世界只因有你

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

    Ini melibatkan proses penyusunan dan penyambungan setiap arahan. Perlu diingatkan bahawa pada nod yang sama, jika terdapat arahan ngController, ia akan melaksanakan proses penyusunan sebelum sebarang arahan lain (keutamaannya ialah 500, manakala keutamaan ngInit ialah 450). Oleh itu, apabila melaksanakan fungsi pautan ngController, yang merupakan fungsi pengawal yang sering kita lihat, ngInit belum menyelesaikan proses penyusunan, jadi ia secara semula jadi tidak dapat memperoleh nilai demo.

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

    balas
    0
  • 过去多啦不再A梦

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

    Konsol belum lagi diinit, cuba konsol dalam jam tangan

    balas
    0
  • PHP中文网

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

    Jika anda ingin mengakses demo di lokasi di atas. Saya fikir ia harus digunakan. $rootscope.demo atau $parentscope.demo

    Masalah di atas sepatutnya menjadi masalah skop.

    balas
    0
  • Batalbalas