我正在使用Meteor模板中的一个表,其中是一个布尔字段“emergency” 我想在表格中显示有“紧急”标志FIRST的单元格,然后是其他...
我该怎么办呢?
这里是查找,我尝试排序(),查找和排序内部但它不起作用..:/
Template.actionsList.helpers({
actions: function() {
return Actions.find();
}
});
提前致谢:)
我收到错误:模板帮助器中的异常:TypeError:无法读取属性'hasOwnProperty'为null
我的代码是:
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
....
感谢您的帮助
答案 0 :(得分:1)
使用下划线的 sortBy()
方法对检查“紧急情况”的对象进行排序。字段通过 hasOwnProperty()
原生方法存在:
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>
&#13;