Korzystanie z kierownicy z kręgosłupem

Uczę się kręgosłup/Kierownica / wymagają. Szukałem w Internecie i na tak - czy są jakieś tutoriale lub strony internetowe, do których możesz mnie skierować, które dostarczyłyby przydatnych informacji do korzystania z kierownicy zamiast podkreślenia?

Author: Joseph at SwiftOtter, 2012-01-31

4 answers

Za pomocą kierownicy.js zamiast podkreślenia szablon jest dość prosty. Zobacz ten przykład:

Https://cdnjs.com/libraries/backbone.js/tutorials/what-is-a-view (przewiń do sekcji "Ładowanie szablonu")

SearchView = Backbone.View.extend({
    initialize: function(){
        this.render();
    },
    render: function(){
        // Compile the template using underscore
        var template = _.template( $("#search_template").html(), {} );
        // Load the compiled HTML into the Backbone "el"
        this.el.html( template );
    }
});

Zasadniczo, konwencją w kręgosłupie jest budowanie html w funkcji renderującej. Korzystanie z silnika szablonów całkowicie zależy od ciebie (co lubię w kręgosłupie). Więc po prostu go zmień...

SearchView = Backbone.View.extend({
    initialize: function(){
        this.render();
    },
    render: function(){
        // Compile the template using Handlebars
        var template = Handlebars.compile( $("#search_template").html() );
        // Load the compiled HTML into the Backbone "el"
        this.el.html( template );
    }
});

Ponieważ używasz wymagają.js, możesz sprawić, że kierownica stanie się zależnością na górze twojego modułu. Jestem w tym całkiem nowy, ale wygląda na to, że nauka, na której można się skupić, byłaby kręgosłupem.wzory js i wymagają.użycie js.

 77
Author: SimplGy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-05 15:30:25

Wolałbym skompilować szablon raz (podczas initialize), w ten sposób unikniesz przekompilowywania szablonu przy każdym renderowaniu. Ponadto, musisz przekazać model do skompilowanego szablonu w celu wygenerowania HTML:

SearchView = Backbone.View.extend({
  initialize: function(){
    // Compile the template just once
    this.template = Handlebars.compile($("#search_template").html());
    this.render();
  },
  render: function(){
    // Render the HTML from the template
    this.$el.html(this.template(this.model.toJSON()));
    return this;
  }
});
 2
Author: satanas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-08 02:18:48

Jeśli używasz require.js nie będziesz mógł użyć bieżącego pliku kierownicy. Użyłem następującej wtyczki Handlebars i wydaje się być na bieżąco z aktualną wersją. Wystarczy zastąpić plik kierownicy wtyczką powyżej, jeśli kierownica zwraca null w module.

 1
Author: TYRONEMICHAEL,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-06-22 15:34:48
define(["app", "handlebars",
    "text!apps/templates/menu.tpl"
], function (app, Handlebars, template) {

    return {
        index: Marionette.ItemView.extend({
            template: Handlebars.compile(template),
            events: {
                'click .admin-menu-ref': 'goToMenuItem'
            },
            goToMenuItem: function (e) {
               //......
            }
        })
    }
});


 new view.index({model: models});
 0
Author: zloctb,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-22 12:59:51