Tengo una serie de botones que, cuando se hace clic, muestran un menú emergente ubicado justo debajo del botón. Quiero pasar la posición del botón a la vista. ¿Cómo puedo hacer eso?
ItemView = Backbone.View.extend({
    tagName: 'li',
    events: {
        'click': 'showMenu'
    },
    initialize: function() {
        _.bindAll(this, 'render');
    },
    render: function() {
    return $(this.el).html(this.model.get('name'));
    },
    showMenu: function() {
        var itemColl = new ItemColl();
        new MenuView({collection: itemColl}); // how to pass the position of menu here?
    }
});
                
                    
                        javascript
                                backbone.js
                                
                    
                    
                        vikmalhotra
fuente
                
                
            fuente

this.options, pero puede hacerlo usted mismo si lo prefiere". .this.options.position, nooptions.position. Vistas utilizadas para adjuntar losinitializeargumentos,this.optionspero eso dejó de suceder en 1.1.0.Agregue un argumento de opciones a
initialize:Y luego pase algunas opciones cuando cree su vista:
Para obtener más información: http://backbonejs.org/#View-constructor
fuente
this.optionsme da mantenimiento y depuración de pesadillas.this.optionsinitialize: function(options) { ... }está bien, el cambio es que Backbone ya no establece automáticamentethis.options: "Backbone Views ya no adjunta automáticamente opciones pasadas al constructor comothis.options, pero puede hacerlo usted mismo si lo prefiere". .A partir de backbone 1.1.0, el
optionsargumento ya no se adjunta automáticamente a la vista (consulte el problema 2458 para obtener más información). Ahora necesita adjuntar las opciones de cada vista manualmente:Alternativamente, puede usar este mini complemento para adjuntar automáticamente las opciones de la lista blanca, así:
fuente
pasar de otro lugar
Agregue un argumento de opciones para inicializar en vista de que está obteniendo esa variable pasada,
para obtener el valor de uso -
fuente
Utilice this.options para recuperar argumentr en la vista
Ejemplo de trabajo: http://jsfiddle.net/Cpn3g/1771/
fuente