SORU
11 Mart 2013, PAZARTESİ


Kullanarak giriş elemanı filtre angularjs

Eğer birileri yardımcı olacaktır eminim eğer ben doco içinde net bir şey kaçırmadım umarım.

Asp.net webapi bir DTO, tarih alanları ile dönüş için kullanıyorum. Bu JSON.Net kullanarak sıralanmış (biçimde '2013-03-11T12:37:38.693').

Ama GİRİŞ elemanı filtre kullanmak istiyorum, bu mümkün mü, ya da bunu yapmak için yeni bir filtre Direktifi oluşturmalıyım?

// this just displays the text value
<input ui-datetime type="text" data-ng-model="entity.date" /> 
// this doesn't work at all
<input ui-datetime type="text" data-ng-model="{{entity.date|date:'dd/MM/yyyy HH:mm:ss a'}}" /> 
// this works fine
{{entity.date|date:'dd/MM/yyyy HH:mm:ss a'}}

Kaçırdığım herhangi bir kısayol var mı?

CEVAP
11 Mart 2013, PAZARTESİ


Veri görünümünde farklı bir gösterimi var ve ben bu modeli, bir gerekir . Kısacası: ^strong>Direktifibir olarak düşünebilirsiniziki yönlü bir filtre.

Sizin göreviniz bir şey gibi görünecektir

angular.module('myApp').directive('myDirective', function() {
  return {
    require: 'ngModel',
    link: function(scope, element, attrs, ngModelController) {
      ngModelController.$parsers.push(function(data) {
        //convert data from view format to model format
        return data; //converted
      });

      ngModelController.$formatters.push(function(data) {
        //convert data from model format to view format
        return data; //converted
      });
    }
  }
});

HTML:

<input my-directive type="text" data-ng-model="entity.date" /> 

Burada jsFiddle bir çalışma örneği.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ehowhome

    ehowhome

    22 NİSAN 2009
  • Justin Davis

    Justin Davis

    14 Ocak 2008
  • Mark Halberstadt

    Mark Halbers

    19 ŞUBAT 2010