2017-09-26 4 views
0

J'ai des erreurs de consignation de module sur mon application de pile MEEN. J'ai un modèle pour ma route de braise qui tire les données de mon serveur express via mongoose.La propriété calculée du modèle Ember ne fonctionne pas

Je voulais modifier la propriété date de mon modèle pour formater la date différemment de la façon dont il est stocké dans la base de données de mongo pour sauver certains biens immobiliers sur la page par exemple: mar 19 septembre 2017 16:57:17 GMT-0400 (EDT) au 2017-09-19.

J'ai suivi les docs Ember pour les propriétés de l'ordinateur sur le modèle, mais le modèle n'affiche pas la valeur calculée.

modèle:

import DS from 'ember-data'; 
import Ember from 'Ember'; 

export default DS.Model.extend({ 
    error: DS.attr('string'), 
    user: DS.attr('string'), 
    module: DS.attr('string'), 
    date: DS.attr('string'), 
    smallDate: Ember.computed('date', function() { 
    var dateObj = new Date(this.get('date')); 
    return `${dateObj.getFullYear()}-${dateObj.getMonth()}-${dateObj.getDate()}`; 
    }) 
}); 

modèle:

<div class="row"> 
    <div class="col-md-8 col-md-offset-2 text-center"> 
    <h2 class="toolTitle">Blame Panel</h2> 
    </div> 
</div> 
<div class="col-md-8 col-md-offset-2"> 
    <table class="table"> 
    <thead> 
     <tr> 
     <th>#</th> 
     <th>User</th> 
     <th>Error</th> 
     <th>Component</th> 
     <th>Date</th> 
     </tr> 
    </thead> 
    <tbody> 
     {{#each model as |blame index|}} 
     <tr> 
      <th scope="row">{{index}}</th> 
      <td>{{blame.user}}</td> 
      <td>{{blame.error}}</td> 
      <td>{{blame.module}}</td> 
      <td>{{blame.smallDate}}</td> 
     </tr> 
     {{/each}} 
    </tbody> 
    </table> 
</div> 

Si je viens d'utiliser la propriété date du modèle affiche l'amende date non formatée.

Répondre

1

On dirait que cela devrait fonctionner. Quel comportement voyez-vous à la place?

Une autre option qui peut mieux convenir à votre installation consiste à déplacer cette mise en forme dans une aide. Si vous faites ember g helper format-date alors vous pouvez utiliser cette même approche pour le formatage de votre date dans une variété d'endroits comme celui-ci:

{{format-date blame.date}} 
+0

je suis juste pas de valeur de retour dans le modèle du tout. J'ai vérifié l'inspecteur de braises et la propriété n'apparaît pas du tout dans le modèle. –

+0

Je suggérerais de tester des choses dans un test unitaire (soit de l'approche auxiliaire, soit de votre modèle). Je trouve qu'il est vraiment utile pour traquer ces bugs, car vous pouvez ensuite ajouter une instruction 'debugger' pour voir ce qui se passe – acorncom

+0

merci pour le conseil ill essayez l'unité de test cela va me déranger sans fin si je ne le fais pas comprendre maintenant –