2015-04-03 77 views
1

我是JavaScript的新手。我在這個頁面中發現了以下代碼[https://developer.mozilla.org/en-US/Apps/Quickstart/Building_simple_functionality]。雖然,我知道這些functions是做什麼的,但是我不清楚_zones是什麼?有人能詳細解釋嗎?瞬間時區和_zones

import Ember from 'ember'; 

export default Ember.Controller.extend({ 
/* create array of timezones with name & offset */ 
init: function() { 
    var timezones = []; 
    for (var i in moment.tz._zones) { 
     timezones.push({ 
     name: moment.tz._zones[i].name, 
     offset: moment.tz._zones[i].offset[0] 
     }); 
    } 
    this.set('timezones', timezones); 
    this._super(); 
    }, 
    selectedTimezone: null, 
    actions: { 
    /* save a timezone record to our offline datastore */ 
    add: function() { 
     var timezone = this.store.createRecord('timezone', { 
     name: this.get('selectedTimezone').name, 
     offset: this.get('selectedTimezone').offset 
     }); 
     timezone.save(); 
    },   
    /* delete a timezone record from our offline datastore */ 
    remove: function(timezone) { 
     timezone.destroyRecord(); 
    } 
    } 
    }); 

感謝

回答

0

顯然,_zone是一個數組,其中包含所有區域,如果您有關於我離開的鏈接波紋管區段對象疑慮moment.tz對象的屬性。下劃線可能是由於使用前綴在javascript中實現私有屬性的常用技術。

http://momentjs.com/timezone/docs/#/zone-object/

0

發生這種情況,因爲你正在使用不同版本的moment庫。

要查找文章中使用的庫的原始版本,請參閱tutorial's source code中的bower.json文件。由此我們得到了在教程中使用的版本是

"moment": "~2.9.0", 
"moment-timezone": "~0.3.0" 

現在讓我們來卸載已安裝的版本,並安裝在教程中使用的版本:

bower uninstall moment moment-timezone --save 
bower install moment#2.9.0 moment-timezone#2.9.0 --save 

重新啓動服務器。