Meteor会话变量未获取关键帧上的最后一个字符
在与Meteor Typeahead软件包一起使用时,我正在使用一个会话变量跟踪搜索查询,但该变量有一个问题 当我在控制台中记录变量时,会显示最后一个字符,但当我在Typeahead调用的模板中输出助手时,它会忽略最后一个字符 我的活动:Meteor会话变量未获取关键帧上的最后一个字符,meteor,typeahead,keyup,Meteor,Typeahead,Keyup,在与Meteor Typeahead软件包一起使用时,我正在使用一个会话变量跟踪搜索查询,但该变量有一个问题 当我在控制台中记录变量时,会显示最后一个字符,但当我在Typeahead调用的模板中输出助手时,它会忽略最后一个字符 我的活动: Template.bookSearchForm.events 'keyup .typeahead': (e) -> bookVal = e.target.value Session.set 'bookSearchValue', bo
Template.bookSearchForm.events
'keyup .typeahead': (e) ->
bookVal = e.target.value
Session.set 'bookSearchValue', bookVal
我的助手:
Template.searchNoItems.helpers
bookSearchValue: ->
return Session.get 'bookSearchValue'
我的模板:
<template name="searchNoItems">
<div class="search-no-results">
<span class="lookupBook">Search for {{ bookSearchValue }}</span>
</div> <!-- /.search-no-results -->
</template>
任何想法都将不胜感激。只是为了确认,控制台正在输出完整的查询,例如:My query,而在helper中,它只输出:My Quer
谢谢你看。使用这个{{{{bookSearchValue}}}注意它是3个花括号
把手/空格键HTML转义
{{expression}}。如果不想转义某个值,请使用
三重储藏{{{
谢谢马克,但是助手正在输出文本,而不是最后一个字符。第三个大括号似乎没有改变这一点?@onjegolders你尝试过吗?当你控制台.logSession.get'bookSearchValue'时,你得到的值是正确的吗?但是当你使用助手并用{{输出时,它不是正确的文本?我在这里看到的唯一一件事是{{{issue ir如果你在其他地方修改了seasion,或者为了更好的度量,你可以尝试返回会话。获取'bookSearchValue'。toString Hanks,是的,我尝试了你的建议,也是toString建议,但遗憾的是,每次都是相同的结果,最后一个字符没有被包含。也许是Meteor Typeahead软件包更新不正确?@onjegolders可能是的,问题在于keyup。typehead尝试获取如下值:$e.currentTarget.val并添加控制台。记录'keyup called';查看是否可能再次调用keyup并删除最后一个字符interesting。在keyup上,它记录两次第一个字符,以便解释如果tally是错误的。如果我将其更改为keypress,则计数是正确的,但不幸的是,助手仍落后一个字符。我认为我们可能需要查看更多您的代码…我快速制作了类似的流星板,无法重现您看到的行为。但我看到keyup的另一个不良行为显然不是fired当你在typeahead自动完成@craigts后没有按任何键时,这太棒了,非常感谢你重现了这一点,你的例子显然有效,所以我必须看看我的代码偏离了哪里!@craigts我看到的一个区别是,我正在使用输入标记中的数据属性声明searchNoItems模板-data templates=searchItem;empty:searchNoItems如果我手动输出模板,查询似乎是正确的。我建议更改。typeahead而不是keyup。typeahead-这将使您能够干净地处理粘贴的文本。谢谢@michel floyd,实际上更改似乎不会触发任何事情?