Backbone.jsのModelクラス(idAttrbute)

今回はidAttributeについてです。
idAttributeはidプロパティが指すプロパティを指定するためのプロパティです。

以下にソースコードを示します。

<html>
<head>
<script type="text/javascript" src="../js/jquery-1.10.1.js"></script>
<script type="text/javascript" src="../js/underscore.js"></script>
<script type="text/javascript" src="../js/backbone.js"></script>
<script type="text/javascript">
var Player = Backbone.Model.extend({
	idAttribute : "subid" // -①
});

$(document).ready(function() {
	player = new Player({
		subid : 1, // - ②
		name : "田中一郎"
	});
	
	console.log("player [id : " + player.id + ", subid : " + player.subid + " name : " + player.get("name") + "]"); // - ③
});
</script>
</head>
<body>
</body>
</html>

結果は以下のようになります。

player [id : 1, subid : undefined name : 田中一郎]

①ではidAttributeとして"subid"というプロパティを指定しています。
これで、idで参照するプロパティが"subid"になります。

②では"subid"に"1"を設定しています。

更に③ではplayer.idで、playerクラスのsubidプロパティを参照できることを示しています。
ちなみに、player.subidでは参照できません。