Comment passer des variables supplémentaires à souligne modèles

J'ai une épine dorsale de vue qui rend un résultat de recherche dans un trait de soulignement modèle. Comme je tiens à souligner le terme de recherche dans la suite, j'ai l'impression suivante de la méthode dans le modèle:

print(someKey.replace(searchTerm, '<b>' + searchTerm + '</b>')

Il fonctionne comme aspecté, mais je dois mettre la searchTerm variable dans l'espace de noms global d'obtenir ce travail. Je me demande si il existe un moyen d'accéder à mon point de vue le modèle de la méthode d'impression, afin que je puisse l'écrire comme ceci:

print(someKey.replace(searchTerm, '<b>' + this.model.get('searchTerm') + '</b>')

Ou si je pouvais searchTerm comme une variable locale dans ma fonction rendu et y accéder dans mon template.

Ici est l'ensemble de l'épine Dorsale de la vue:

var searchTerm;
var SearchResultView = Backbone.View.extend({
    initialize: function() {
        this.model.bind('change:rows', this.render, this);
        this.model.bind('change:searchTerm', this.clear, this)
    },
    template: _.template("<tr><td><% print(someKey.replace(searchTerm, '<b>' + searchTerm + '</b>')); %></td></tr>", this),
    render: function() {
       searchTerm = this.model.get('searchTerm')
        _.each(this.model.get('rows'), function(row) {
            this.el.append($(this.template(row.doc)));
        }, this)
    },
    clear: function(){
        this.el.empty();
    }
});

OriginalL'auteur Andreas Köberle | 2012-01-10