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

  • AlaskanGrizzly

    AlaskanGrizz

    30 EKİM 2009
  • MADFINGER Games a.s.

    MADFINGER Ga

    21 NİSAN 2009
  • Study with Substance P

    Study with S

    31 Mayıs 2008