style attribute javascript meteor handlebars.js

javascript - attribute - title css



Meteor, ¿cómo acceder a un ayudante de otro ayudante? (5)

Acabo de descubrir esto accidentalmente en la consola:

Template.registerHelper function (name, func) { Blaze._globalHelpers[name] = func; }

Por lo tanto, Blaze._globalHelpers es lo que estamos buscando.

Tengo un ayudante como

Template.user_profile.helpers({ user:function() { return Meteor.users.find({''profile.front_name'':Session.get(''slug'')}).fetch()[0]; } });

Quiero agregar un ayudante a la colección que podría acceder al ayudante del user y comparar su _id con el _id usuario actual, para decir si el usuario está visitando su propio perfil. Estoy usando algo bastante feo:

Template.user_profile._tmpl_data.helpers.user()

El código final:

Template.user_profile.helpers({ user:function() { return Meteor.users.find({''profile.front_name'':Session.get(''userId'')}).fetch()[0]; }, isCurrentUser: function() { return Template.user_profile._tmpl_data.helpers.user()._id === Meteor.userId(); } });

¿Hay alguna forma mejor de acceder a otro ayudante?



Mientras buscaba la manera de llamar a un ayudante de otro ayudante, descubrí que Meteor 1.0 define "Template.registeredHelpers" que están disponibles para el resto de los ayudantes. https://docs.meteor.com/#/full/template_registerhelper

Template.registerHelper("checkedIf",function(value){ return value?"checked":""; });


Puede llamar a un asistente de plantilla (no a un ayudante global, que está en la respuesta de outluch) con:

Template.tplName.__helpers.get(''helper'').call()

MDG sugiere usar una función regular y luego pasarla a ayudantes, eventos, etc. Mira here .

Actualización 16.06.16
En realidad, recomiendo usar simplemente manuel:viewmodel - alivia tantos dolores de cabeza de Blaze ...


tal vez esto funcione para usted:

//js Template.foo.helpers({ bar: function() { return this.userId == Meteor.userId(); }, domain: function() { var a = document.createElement(''a''); a.href = this.url; return a.hostname; } }); ownsDocument = function(userId, doc) { return doc && doc.userId === userId;} Posts = new Meteor.Collection(''posts''); Posts.allow({ update: ownsDocument, remove: ownsDocument }); //html {{#if bar}}<a href="{{pathFor ''postEdit''}}">Edit</a>{{/if}}