дата из ObjectID в Javascript - PullRequest
       4

дата из ObjectID в Javascript

1 голос
/ 13 февраля 2012

Я оцениваю Ember для использования в одном из моих проектов, и мне нужно было извлечь информацию о дате из ObjectID, предоставленного MongoDB. Я пошел с вычисленным свойством, как показано ниже:

created_at: Ember.computed(function() {
    var objid = this.get('_id');
    return new Date(parseInt(objid.substring(0,8), 16)*1000);
  }).property('_id')

Я доволен этим, просто хотел узнать, есть ли лучший способ сделать это ... какие-нибудь мысли?

спасибо!

1 Ответ

0 голосов
/ 16 февраля 2012

Вы определенно на правильном пути. Как предложил Мартин в своем комментарии, вам не нужно вводить предисловие для функции с помощью Ember.computed (). Функция property () позаботится об этом за вас. Делая и то, и другое, вы делаете метод вычисляемого свойства из метода вычисляемого свойства, что может вызвать проблемы.

Также рассмотрите возможность пометить свойство как cacheable (), что приведет к тому, что функция будет выполняться только один раз при изменении _id, в отличие от любого времени вызова метода.

Это кажется идеальным подходом:

created_at: function() {
  var objid = this.get('_id');
  return new Date(parseInt(objid.substring(0,8), 16)*1000);
}.property('_id').cacheable()
...