獲取我正在學習Marionette柔和介紹,面臨Single Contact API部分的一些問題。Marionette屬性未定義,請從API
好吧,讓我們直接點。
這是我的模板
<script type="text/template" id="contact-view">
<%= id %>
<h1><%= firstName %> <%= lastName %></h1>
<p><strong>Phone number:</strong> <%= phoneNumber %></p>
</script>
這是我的控制器的一部分
showContact: function(id){
var contact = ContactManager.request('contact:model', id);
var contactView;
if(contact !== undefined)
{
contactView = new Show.Contact({
model: contact
});
}
else
{
contactView = new Show.MissingContact();
}
ContactManager.mainRegion.show(contactView);
}
這是我的模型
Entities.Contact = Backbone.Model.extend({
urlRoot: "php/contacts/index.php",
defaults: {
firstName: '',
lastName: '',
phoneNumber: ''
}
});
var API = {
getContactEntity: function(contactId){
var contact = new Entities.Contact({id:contactId});
contact.fetch();
return contact;
}
};
ContactManager.reqres.setHandler("contact:model", function(id){
return API.getContactEntity(id);
});
的一部分,這是我的PHP API
$data[] = array('id'=>1, 'firstName'=>'Alice', 'lastName'=>'Arten', 'phoneNumber'=>'555-0184');
$data[] = array('id'=>2, 'firstName'=>'Bob', 'lastName'=>'Brigham', 'phoneNumber'=>'555-0184');
$data[] = array('id'=>3, 'firstName'=>'Charlie', 'lastName'=>'Campbell', 'phoneNumber'=>'555-0184');
echo json_encode($data[1]);
我試圖保持簡單。因此,錯誤的是下面當我刪除默認
firstName is not defined
,我試圖控制檯登錄模型中的聯繫人,請參閱本http://prntscr.com/51k7ec
我敢肯定,這是獲得屬性從previousAttributes而不是屬性
請幫我一把。我做錯了什麼嗎?
預先感謝
請問您可以附上'reqres.setHandler(「contact:model」...)' – Evgeniy 2014-10-31 13:35:05
已經附加在模型部分的代碼。謝謝 – 2014-10-31 16:17:16
我明白,fetch是異步的,你一定要等到它完成 – Evgeniy 2014-10-31 19:11:30