我正在使用Typeahead来显示项目数据库和商店数据库中的提示.当我只显示项目的提示时,它显示正常,当我只显示商店的工作也很好,但当我尝试显示混合结果时,它只显示默认的空信息.检查AJAX答案,在三种情况下看起来很好,所以它必须在客户端.
JS代码是这样的:
var items = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: {
url: '/ajax/pesquisar/',
prepare: function(query, settings) {
tokens = query.trim().split(' ');
return '/ajax/pesquisar/' + tokens.join('/') + '/';
}
}
});
$('input.typeahead').typeahead({
hint: true,
highlight: true,
minLength: 1
},
{
name: 'items',
display: 'name',
source: items,
templates: {
empty: [
'<div class="empty-message">',
'Nenhum item relacionado',
'</div>'
].join('\n'),
suggestion: Handlebars.compile('<a href="{{url}}"><div class="suggestion"><div class="icone" style="background-image:url({{img}});"></div>{{name}}</div></a>')
}
});
Run Code Online (Sandbox Code Playgroud)
AJAX响应仅适用于项目(正确显示):
[
{
"id":"00007531",
"url":"\/higiene-e-limpeza\/cabelos\/condicionador-seda-cachos-comportados-e-definidos-350ml\/",
"name":"Condicionador Seda Cachos Comportados e Definidos 350mL",
"img":"\/img\/produtos\/7891037000315_I.png"
}, …Run Code Online (Sandbox Code Playgroud) 我创建了一个React组件来显示视频缩略图,然后单击其中一个缩略图将视频加载到播放器中。当缩略图列表太大时,它会在两侧添加滚动按钮,以便列表向左和向右滚动。
两个滚动按钮均使用offsetWidth包装的滚动值。这可以正常工作,但是在使用酶进行测试时,该组件已安装,offsetWidth = 0因此模拟任何这些按钮的单击都不会滚动拇指列表,也无法测试它们是否起作用。
使用酶来测试此滚动按钮时,哪种设置组件宽度的正确方法是?
我在Blade视图中有以下代码:
@for ($i = 1; $i <= 99; $i++)
<div id="player-{{ $i }}">{{ $i }}</div>
@endfor
Run Code Online (Sandbox Code Playgroud)
这会生成带有ids player-1,player-2,player-3等的div.但我真正需要的是拥有ids player-01,player-02,player-03等等.是否有刀片中的功能像PHP中的printf一样吗?或使用三元运算符是最好的方法?
(当只需要添加一个零时,三元运算符可以正常工作,但当需要更多零时,它不能正常工作)