我正在 Meteor 模板中处理一个表,其中有一个 bool 字段“紧急” 我想在表格中显示首先有“紧急”标志的单元格,然后是其他...
请问我该怎么做?
这是查找,我尝试排序(),查找并在内部排序,但它不起作用..:/
Template.actionsList.helpers({
actions: function() {
return Actions.find();
}
});
提前致谢:)
<小时/>我收到错误:模板助手中出现异常:TypeError:无法读取 null 的属性“hasOwnProperty”
我的代码是:
Session.set('emergency', false);
Template.actionForm.onRendered(function () {
var $elem = this.$('.emergency');
$elem.checkbox('set ' + (Session.get('emergency') ? 'checked' : 'unchecked'));
$elem.checkbox({
onChange: function () {
Session.set('emergency', !Session.get('emergency'));
}
});
});
Template.actionForm.events({
'submit .new-action': function(event) {
event.preventDefault();
var emergency = Session.get('emergency');
...
Actions.insert({
emergency: emergency
....
感谢您的帮助
最佳答案
使用下划线的 sortBy()
对对象进行排序的方法,通过 hasOwnProperty()
检查“紧急”字段是否存在 native 方法:
Template.actionsList.helpers({
actions: function() {
var actions = Actions.find().fetch();
return _.sortBy(actions, function (a) { return !a.hasOwnProperty('emergency'); });
}
});
查看下面的演示。
var actions = [
{
"_id" : "ukn9MLo3hRYEpCCty",
"field" : "foo"
},
{
"_id" : "ukn9MLo3hRYEpCCty",
"field" : "bar",
"emergency": true
},
{
"_id" : "WMHWxeymY4ATWLXjz",
"field" : "abc",
"emergency": false
},
{
"_id" : "5SXRXraariyhRQACe",
"field" : "xyz"
}
];
var result = _.sortBy(actions, function (a) { return !a.hasOwnProperty('emergency'); });
pre.innerHTML = JSON.stringify(result, undefined, 4);
<script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.7.0/underscore-min.js"></script>
<pre id="pre"></pre>
关于javascript - Meteor,按 bool 值显示/排序值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33784548/