SORU
7 Aralık 2012, Cuma


Ng-model varsayılan değerler açısal js init gelen

Değerleri veritabanından dolu olan bir form var. Nasıl ng-model başlatmak mı?

Örnek:

<input name="card[description]" ng-model="card.description" value="Visa-4242">

Benim denetleyicisi, $scope.kart başlangıçta tanımlı değil. Böyle bir şey yapmak dışında bir yolu var mı?

$scope.card = {
  description: $('myinput').val()
}

CEVAP
7 Aralık 2012, Cuma


Bu yeni Açısal uygulamalarda yaygın bir hatadır. Eğer bunu önleyebilirsiniz eğer sunucu üzerinde HTML içine değerleri yazmak istemiyorum. Eğer bir uzak sunucunuz HTML tamamen, daha iyi işlemek zorunda alabilirsin aslında.

İdeal olarak, Açısal HTML şablonları göndermek, JSON $http üzerinden değerleri yıkmak ve kapsamı içine koy.

Bu yüzden eğer mümkünse, bunu yapmak için:

app.controller('MyController', function($scope, $http) {
    $http.get('/getCardInfo.php', function(data) {
       $scope.card = data;
    });
});

<input type="text" ng-model="card.description" />

Eğer mutlaka bir sunucudan HTML içine değerleri işlemek gerekiyorsa, global bir değişken koyup access penceresi$:

Sayfanızın başlığında yazmak istiyorum:

<head>
   <script>
       window.card = { description: 'foo' };
   </script>
</head>

Ve sonra Denetleyicisi gibi olsun istiyorum:

app.controller('MyController', function($scope, $window) {
   $scope.card = $window.card;
});

Umarım yardımcı olmuştur.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Besnik Ibrahimi

    Besnik Ibrah

    27 Mart 2010
  • Cristina Landa

    Cristina Lan

    28 Ocak 2010
  • How Things Are Made

    How Things A

    17 HAZİRAN 2008

İLGİLİ SORU / CEVAPLAR