2015-04-10 2 views
0

это мой код:как я могу получить атрибут Alloy.Models.room_module в титане

room_module = Alloy.Models.room_module 
console.info "=========room_module=======" 
console.info room_module 
console.info "=========room_module.get room_1=======" 
console.info room_module.get "room_1" 
console.info "=========room_module.room_1=======" 
console.info room_module.room_1 

и это консольный вывод:

[iphone, 8.2, 192.168.1.126] =========room_module======= 
[INFO] [iphone, 8.2, 192.168.1.126] { 
    "room_1": "客餐厅", 
    "room_2": "卧室", 
    "room_3": "厨房", 
    "room_4": "room", 
    "room_5": "room", 
    "room_6": "room" 
} 
[INFO] [iphone, 8.2, 192.168.1.126] =========room_module.get room_1======= 
[INFO] [iphone, 8.2, 192.168.1.126] 客餐厅 
[INFO] [iphone, 8.2, 192.168.1.126] =========room_module.room_1======= 
[INFO] [iphone, 8.2, 192.168.1.126] 

почему room_module.room_1 не может получить Значение ? и я хочу показать room_module.room_1 в мой XML-файл. Как я могу это сделать ?

ответ

1

Как вы можете знать, модели сплавов наследуются от опорных опор. Когда вы делаете вызов Model.get функции, это what's happening:

// Get the value of an attribute. 
    get: function(attr) { 
     return this.attributes[attr]; 
    }, 

При вызове console.info (модель), это может быть выполнение Model.toJSON (Это не метод ToString):

// Return a copy of the model's `attributes` object. 
    toJSON: function(options) { 
     return _.clone(this.attributes); 
    }, 

Я вижу две возможности:

  1. room_module.attributes['room_1']
  2. room_module.toJSON().room_1

В Alloy docs ничего не говорится о доступе к вашей модели внутри XML-файла. Вам нужно будет получить доступ к нему с контроллера.

0

backbone js использует объект атрибута для сохранения свойств. в вашем случае вам нужно сделать roommodule.get ('room1'). чтобы быть последовательным, всегда полезно использовать get и set вместо прямого доступа через roommodule.attributes.room1.

потому что это может вызвать некоторые события внутри модели.

 Смежные вопросы

  • Нет связанных вопросов^_^