如何在Meteor中的空格键{{<some name =“”>}}中获取名称</some>

时间:2014-11-29 08:58:31

标签: meteor

我想获取空格键Ex的属性名称。

<template name="example">
  {{#with object}}
    {{level1.level2}}  
    {{permission.post.create}}  
    {{permission.post.read}}
  {{/with}}
</template>

点击它后,我想得到属性的名称

Template.example.events({
    "click <selector>" : function(event,template){

        //Question how to get name "level1.level2" ,"permission.post.create" ,"permission.post.read"
        var name1 = ??? // I want name1 = "level1.level2" (string not it value)     

        //After I get the property name I can use it in MongoDB query like this
        var key = {}
        key[name1] = "newvalue" // now I got { 'level1.level2' : 'newvalue'}
        Model.update({_id : "abc"}, key)  

    }
})

当您必须使用复选框

更新权限列表的深层嵌套文档Ex ..表时非常有用

2 个答案:

答案 0 :(得分:0)

如何向html元素添加data-属性,然后当您收到事件时,您可以执行类似var -id = $(event.target).attr(“data-id”)的操作;我完全不明白你的问题既没有访问你的数据结构,但假设你想从你在html元素中呈现的对象中获取信息。我建议如下:

<template name="mytemplate">
   <a href="" data-id="{{object.level2}}" data-name="{{object.name}}">{{ object.name }}</a>
</template>

Template.<name>.events({
    "click <selector>" : function(event,template){
        //Question how to get name "level1.level2" ,"permission.post.create" ,"permission.post.read"

          var name1 = $(event.target).attr("data-name");    
          //do whatever with you variable 

    }
})

对不起,如果这不是你在想什么。

答案 1 :(得分:0)

ncubica 你的回答很接近我想要的。

我用

<template name="mytemplate">
  <a href="" data-name="level1.level2">{{level1.level2}}</a>
</template>

然后我可以像这样使用它

"click .toggle-checked" : function(event,template){
    var pName = $(event.target).attr("data-name")
    var updateAttr ={}
    updateAttr[pName] = "theNewValue"
    Collection.update({_id : this._id},{ $set : updateAttr})
}

感谢您的提示。