如何查询对象中的字段?我的html检索数组中名为'明信片'
的所有对象Meteor.user.profile.postcards [
{
_id: 84fh83f,
field_one: "a name",
field_two: " winter whether",
field_three: " lost more writing"
},
{
_id: 6jsf58s,
field_one: "another name",
field_two: " topical issues ",
field_three: " lost more writing"
}
]
注意:我使用了random.Id(),因此可以唯一地标识数组中的每个对象。
当用户专注于输入字段时,将会话值设置为this._id
将检索此唯一ID,但是,我想查询焦点中的实际字段。通过使用html中的空格键语法,可以在文本输入区域内投影这些字段中的值。
我可以以某种方式将value属性的花括号中的名称指定给变量吗?然后查询?
有没有全新的方法来实现这一目标?
我想更新此对象中的特定字段,而不是更新整个对象。
HTML:
{{#with currentUser.profile}}
{{#each postcards}}
<input id="one" value="{{field_one}}" type="text">
<input id="two" value="{{field_two}}" type="text">
<input id="three" value="{{field_three}}" type="text">
{{/each}}
{{/with}}
client.js
在活动中,我想更新重点关注的字段。
Templates.myTemplate.events({
'keyup input[type=text]': _.throttle(function(event) {
Meteor.users.update(this._id, {$set: {**fieldbeingedited**: event.target.value}});
}, 500);
});
答案 0 :(得分:0)
您希望拥有一个名为“Computed property names”的ES6
功能。
这是看起来像:
var x = 'hello',
obj = {
[x]: 'world'
};
console.log(obj); // Object {hello: "world"}
您有两种选择: - 你使用流星和谐包来将你的es6转换为es5(https://github.com/mquandalle/meteor-harmony) - 首先构建对象
首先构建对象:
var obj = {};
obj[ this.targetField ] = event.target.value
Meteor.users.update(this._id, {$set: obj});