BackboneJS - Url da coleção
Descrição
Ele cria uma instância da coleção e retorna onde o recurso está localizado.
Sintaxe
collection.url()
Exemplo
<!DOCTYPE html>
<html>
<head>
<title>Collection Example</title>
<script src = "https://code.jquery.com/jquery-2.1.3.min.js"
type = "text/javascript"></script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.2/underscore-min.js"
type = "text/javascript"></script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.1.2/backbone-min.js"
type = "text/javascript"></script>
</head>
<body>
<script type = "text/javascript">
var MyModel = Backbone.Model.extend({}); ////'MyModel' is a model name
//The 'MyCollection' is an instance of the collection
var MyCollection = Backbone.Collection.extend ({
model: MyModel //The model 'MyModel' is specified by overriding the "model" property
});
//The model "MyBlog" contains default values for 'user' and 'myposts' attributes
var MyBlog = Backbone.Model.extend ({
defaults: {
user: null,
myposts: []
},
initialize: function () {
var myval = this;
//Model 'MyModel' gets the 'user' and 'myposts' from the model 'MyBlog' by referring to
//the current object
this.MyModel = new MyModel(this.get('user'));
this.posts = new MyCollection(this.get('myposts'));
this.posts.url = function () {
return myval.url() + '/myposts';
};
},
//It enables the url() function by using the id attribute to
//generate the URL as "/MyBlog/50/myposts/26"
urlRoot: '/MyBlog/'
});
var attributes = {
id: 50,
myposts:[{id: 26}]
}
//The model "MyBlog" will access the attributes and display the url using 'url()' function
val = new MyBlog(attributes);
val.posts.each(function (MyModel) {
document.write("The url pattern is: ",MyModel.url());
});
</script>
</body>
</html>
Resultado
Vamos realizar as seguintes etapas para ver como funciona o código acima -
Salve o código acima no url.htm Arquivo.
Abra este arquivo HTML em um navegador.