2015-02-06 39 views
-1

在解析,讓一個對象的屬性直接訪問,我需要使用:使用Parse.Object的屬性點符號

myObject.get("propertyName"); 

我如何使它這樣我就可以使用

myObject.propertyName 
+0

JS對象getter和setter。 – Andy 2015-02-06 12:31:27

+0

是什麼?你能詳細說明(或寫出答案)嗎? – 2015-02-06 12:32:03

+0

[某些信息在這裏](http://ejohn.org/blog/javascript-getters-and-setters/)。還有關於MDN的信息。 – Andy 2015-02-06 12:34:16

回答

0

attributes屬性是包含模型狀態的內部散列 - 通常(但不一定)是表示模型數據的JSON對象的一種形式。

在Backbone模型對象具有您的數據附加到的屬性屬性。

當你說
model.set({'property':'value'});

它會像model.attributes.property

當你說model.get('property')會發生什麼型號

get: function(attr) { 
     return this.attributes[attr]; 
    }, 

檢查文檔here

0

所以問題是你如何繞過通過getters和setters訪問模型屬性的正常行爲?

忽略爲什麼你不應該這樣做的明顯原因一切都可以在'屬性'屬性中找到。

myModel.attributes.propertyName 

或者,如果你只是需要一個普通的對象,你可以JSON化你的模型。

+0

我很想聽聽爲什麼我不應該明白的原因。 – 2015-02-06 15:02:43

+0

另外,您可以提供有關「JSONify」模型的更多信息嗎?因爲是的,我所需要的只是傳遞給視圖的簡單隻讀對象。 – 2015-02-06 15:04:19

+0

這已經回答了另一個問題: http://stackoverflow.com/questions/15545697/backbone-js-accessing-model-attributes-within-model-this-attribute-vs-this-get 我我認爲如果你有一個管理狀態的接口,你應該使用它,否則你將會遇到意想不到的行爲。我唯一的免責聲明是我不完全瞭解你的情況。 – backdesk 2015-02-06 15:05:31

-1

有點晚了遊戲,但是這就是你在說的。

https://www.parse.com/docs/android/guide#objects-subclasses

子類完全是可選的,但可以將這些代碼:

ParseObject shield = new ParseObject("Armor"); 
shield.put("displayName", "Wooden Shield"); 
shield.put("fireproof", false); 
shield.put("rupees", 50); 

向該:

Armor shield = new Armor(); 
shield.setDisplayName("Wooden Shield"); 
shield.setFireproof(false); 
shield.setRupees(50); 
相關問題