Javascript 如何调用jQuery';在Ember.js中的s hide()方法?

Javascript 如何调用jQuery';在Ember.js中的s hide()方法?,javascript,jquery,ember.js,Javascript,Jquery,Ember.js,我试图使用jQuery方法hide()隐藏一个对象,但它不起作用 我使用console.log()检查被调用函数中参数的值,所以我知道我做得不对。但是,我不知道如何让它工作 以下是我所拥有的: #------------------------Model------------------------ App.Monster = Ember.Object.extend({ name: "", hp: 0, isDead : false, isDeadChanged: function(t

我试图使用jQuery方法
hide()
隐藏一个对象,但它不起作用

我使用console.log()检查被调用函数中参数的值,所以我知道我做得不对。但是,我不知道如何让它工作

以下是我所拥有的:

#------------------------Model------------------------


App.Monster = Ember.Object.extend({

name: "",
hp: 0,
isDead : false,

isDeadChanged: function(target, value){
    App.monstersController.kill(target);
}.observes('isDead')

});



#------------------------Controller------------------------




App.monstersController = Ember.ArrayProxy.create({

content:[],

createMonster: function(name,hp){
    var monster = App.Monster.create({name:name});
    this.pushObject(monster);
},


kill: function(target){

    //I Want the selected object to hide by using Jquery hide method!!
    $('target').hide();

    this.removeObject(target);


},


#------------------------HTML FILE------------------------



{{#each App.monstersController contentBinding="App.monstersController.content" tagName="ul"}}
    <li>
        {{view Ember.Checkbox checkedBinding="isDead"}}
        <label for="" {{bindAttr class="isDead"}}>{{name}}</label>
    </li>
{{/each}}
#---------------------------模型------------------------
App.Monster=Ember.Object.extend({
姓名:“,
惠普:0,
伊斯戴德:错,
isDeadChanged:函数(目标、值){
怪物控制者杀戮(目标);
}.观察('isDead')
});
#------------------------控制器------------------------
App.monstersController=Ember.ArrayProxy.create({
内容:[],
createMonster:函数(名称,hp){
var monster=App.monster.create({name:name});
这个。推送对象(怪物);
},
kill:函数(目标){
//我希望使用Jquery隐藏方法隐藏所选对象!!
$('target').hide();
此.removeObject(目标);
},
#------------------------HTML文件------------------------
{{{#每个App.monsterscoontroller contentBinding=“App.monsterscoontroller.content”tagName=“ul”}
  • {{view Ember.Checkbox checkedBinding=“ishead”} {{name}}
  • {{/每个}}
    不要引用
    目标

    kill: function(target){   
        //I Want the selected object to hide by using Jquery hide method!!
        $(target).hide();   
        this.removeObject(target);
    },
    

    $(“目标”)
    查找
    元素。

    通常,将DOM脚本模式带到Ember是行不通的,因为Ember不是关于DOM操作的,而是关于使用对象描述应用程序。应用程序的DOM表示形式将自动更新以反映其底层数据对象的状态

    视图跟踪其可见性(及其子视图的可见性)使用
    isVisible
    属性,并将为您处理切换it的DOM表示。您应该尝试揭示给定视图上下文的可见性的语义对象含义。例如,如果您决定todo列表中的已完成项不应可见,则应执行以下操作:

    {{#each item in controller}}
      {{view App.TodoItemView isVisibileBinding="item.isComplete"}} <a {{action kill item}}>Done!</a>
    {{/each}}
    
    {{{#控制器中的每个项目}
    {{view App.TodoItemView isVisibileBinding=“item.isComplete”}}完成!
    {{/每个}}
    
    谢谢你的评论!我删除了引号,但仍然不起作用。我应该尝试其他建议吗?什么类型的对象是
    target
    ?它需要是jQuery对象、DOM元素或
    $(target)
    的选择器字符串才能起作用。Javascript控制台中有错误吗?console.log显示了这一点。c{hp:“100”,isDead:true,name:“MONSTER”}ember1355471385772:“ember502”\uu ember1355471385772\u meta:m\u super:undefined hp:“100”isDead:true jQuery1720822808830300346:对象名称:“MONSTER”__proto:object我在下面遇到了一个错误。未捕获类型错误:无法读取未定义的属性'defaultView',谢谢你的回答!我不知道Ember.View有isVisible属性。很高兴知道。但是,在这种情况下,如何使用Jquery.hide(mseconds)逐渐隐藏整个任务?像这样的转换将在1.0版本中实现淡入淡出效果,可以尝试使用
    classNameBindings
    在设置
    isComplete
    属性时添加css类。然后,您可以使用CSS3转换将其不透明度淡入淡入0。