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

  • Matt Steffanina

    Matt Steffan

    1 EYLÜL 2011
  • michellefeng's channel

    michellefeng

    26 Kasım 2006
  • mipd1980

    mipd1980

    25 EKİM 2006