tutorial pixar pelicula mario fnafhs fnaf anime backbone.js marionette

backbone.js - pelicula - marionette pixar



¿Cuál es la diferencia entre url vs urlRoot? (1)

.urlRoot solo está disponible en un modelo, y solo es útil cuando un modelo no forma parte de una colección, o cuando desea anular la propiedad .url de la colección de la que forma parte ese modelo.

En otras palabras, un modelo no requiere las propiedades .url ni .urlRoot cuando forma parte de una colección con un .url propiedades .url , en cuyo caso este modelo utilizará el .url esa colección como su propio .urlRoot .

Aquí hay varios ejemplos que muestran la diferencia. Cuando ejecuta los scripts, las solicitudes http se pueden ver en el panel de red del navegador.

Ejemplo 1. La publicación no es parte de una colección. urlRoot define la parte base de la url. Cuando se busca un modelo, su ID se adjunta al urlRoot .

var Post = Backbone.Model.extend({ urlRoot: ''http://jsonplaceholder.typicode.com/posts'' }); var secondPost = new Post({ id: 2 }); secondPost.fetch(); /*requests http://jsonplaceholder.typicode.com/posts/2 */

<script src=''http://code.jquery.com/jquery.js''></script> <script src=''http://underscorejs.org/underscore.js''></script> <script src=''http://backbonejs.org/backbone.js''></script>

Ejemplo 2. Al llamar a fetch en un modelo que forma parte de una colección, utiliza la url la colección como urlRoot

var Post = Backbone.Model.extend(); var Posts = Backbone.Collection.extend({ url: ''http://jsonplaceholder.typicode.com/posts'', model: Post }); var posts = new Posts(); posts.add({id: 2}); posts.first().fetch(); /*requests http://jsonplaceholder.typicode.com/posts/2 */

<script src=''http://code.jquery.com/jquery.js''></script> <script src=''http://underscorejs.org/underscore.js''></script> <script src=''http://backbonejs.org/backbone.js''></script>

Ejemplo 3. El conjunto de url en un modelo utilizará literalmente ese url para cualquier instancia de modelo.

var Post = Backbone.Model.extend({ url: ''http://jsonplaceholder.typicode.com/posts'' }); var secondPost = new Post({ id: 2 }); secondPost.fetch(); /*requests http://jsonplaceholder.typicode.com/posts */

<script src=''http://code.jquery.com/jquery.js''></script> <script src=''http://underscorejs.org/underscore.js''></script> <script src=''http://backbonejs.org/backbone.js''></script>

Ejemplo 4. url puede ser una función y comienza a tener sentido nuevamente.

var Post = Backbone.Model.extend({ url: function(){ return ''http://jsonplaceholder.typicode.com/posts/'' + this.get(''slug''); } }); var secondPost = new Post({ slug: 2 }); secondPost.fetch(); /*requests http://jsonplaceholder.typicode.com/posts/2 */

<script src=''http://code.jquery.com/jquery.js''></script> <script src=''http://underscorejs.org/underscore.js''></script> <script src=''http://backbonejs.org/backbone.js''></script>

Me gustaría saber cuál es la diferencia entre usar url o urlRoot . He leído la documentación ( backbonejs.org/#Model-url ), pero sigo sintiendo que no tengo conocimiento en esta área y me gustaría saber más. ¿Cuándo tienes que usar url ? Y en otro caso, ¿cuándo tienes que usar urlRoot ?