Если у меня есть усы атрибут сказать {{stockvalue}}
, и я хотел бы различные классы в окружающем DIV на основе значения {{stockvalue}}
сказать:логика, основанная на результатах усов в algolia
<div class="label-success">{{stockvalue}}</div>
если над 0 и
<div class="label">{{stockvalue}}</div>
, если 0
РЕДАКТИРОВАТЬ 10 ноября-2016
Вы оба представили некоторые отличные решения, насколько я понимаю, однако моя проблема заключается в том, что я использую ее вместе с системой мгновенного поиска Algolia.
function app(opts) {
var search = instantsearch({
appId: opts.appId,
apiKey: opts.apiKey,
indexName: opts.indexName,
urlSync: true,
searchFunction: function(helper) {
var searchResults = $('.search-results');
helper.search();
searchResults.show();
}
});
search.addWidget(
instantsearch.widgets.searchBox({
container: '#search-input',
placeholder: 'Hvad søger du efter?'
})
);
search.addWidget(
instantsearch.widgets.hits({
container: '#hits',
hitsPerPage: 5,
templates: {
item: getTemplate('hit'),
empty: getTemplate('no-results')
}
})
);
search.addWidget(
instantsearch.widgets.stats({
container: '#stats'
})
);
search.addWidget(
instantsearch.widgets.sortBySelector({
container: '#sort-by',
autoHideContainer: true,
indices: [{
name: opts.indexName, label: 'Relevans'
}, {
name: 'price_asc', label: 'Laveste pris'
}, {
name: 'price_desc', label: 'Højeste pris'
}]
})
);
search.addWidget(
instantsearch.widgets.pagination({
container: '#pagination',
scrollTo: '#search-input'
})
);
search.addWidget(
instantsearch.widgets.refinementList({
container: '#category',
attributeName: 'primary-cat',
showMore: true,
showMore: { limit: 30, templates: { active: 'Vis mindre', inactive: 'Vis mere' } },
sortBy: ['isRefined', 'count:desc', 'name:asc'],
operator: 'or',
limit: 10,
templates: {
header: getHeader('Kategorier')
}
})
);
/* search.addWidget(
instantsearch.widgets.refinementList({
container: '#brand',
attributeName: 'brand',
sortBy: ['isRefined', 'count:desc', 'name:asc'],
limit: 10,
operator: 'or',
templates: {
header: getHeader('Brand')
}
})
);
*/
search.addWidget(
instantsearch.widgets.rangeSlider({
container: '#price',
attributeName: 'price',
templates: {
header: getHeader('Pris')
},
step: 10,
max: 5000
})
);
Этот Javascript извлекает данные stockvalue и применяет его на HTML, но я не вижу никакого способа, чтобы сделать какой-либо логики в переменной stockvalue, как она никогда не присутствует в этом JavaScript.
Привет, оба этих решения показывают, что я могу работать в javascript со значением запаса, мне не кажется совершенно очевидным, как бы я заполнил эту переменную, используя instantsearch.js (что я забыл упомянуть, что использовал) –
Я добавил som Дополнительная информация о проблеме использования объектов альголии в проблеме. –
Извините @MattLuccasPhaureJensen, я не знаком с этой картой. Единственный совет, который я могу дать, это определить, как захватить ответ от agolia и присвоить его значению в вашем контроллере. –