2012-01-01 47 views
0

我试图让一个类出现在具有基于属性绑定的句柄视图的特定按钮上。我正在做一些类似于ember.js在他们的网站(http://emberjs.com/examples/todos/)上的Todo应用程序,并且我试图使“Clear Completed”按钮消失物业的价值。获取classNameBindings使用按钮在使用ember.js的handlebar中使用#view

我有一个jsfiddle展示了我要去的地方(http://jsfiddle.net/boushley/XEdNg/)。如果我在#view标签内添加一个className,它显示正常。但是,如果我添加一个clasNameBindings它不会按我期望的方式工作。我在谈论这个错误还是在这里打破了?

亚伦

+0

此问题引用了EmberJS 1.0之前版本的弃用代码。 – Kingpin2k 2014-05-15 17:19:04

回答

0

我在这里讨论了这个https://github.com/emberjs/ember.js/issues/322,项目中的其中一个人帮助了这个,给出了一个明确的方法来实现这个https://github.com/emberjs/ember.js/issues/322#issuecomment-3332477(http://jsfiddle.net/aNZSD/)实质上我需要创建一个扩展ButtonView的视图,并将这些属性放在这个新视图上。这是它应该工作的方式,我只是没有正确地看到这一点。

希望这可以让别人更清楚。

0

我记得我有类似的问题classNameBindings了。

试试这个:http://guides.sproutcore20.com/using_handlebars.html#binding-class-names-with-bindattr

// Javascript for the view 
App.AlertView = SC.View.extend({ 
    priority: "p4", 
    isUrgent: true 
}); 

// Template 
<div {{bindAttr class="priority"}}> 
    Warning! 
</div> 

// Emits the following HTML 
<div class="p4"> 
    Warning! 
</div> 

如果你只是想显示/隐藏按钮,然后尝试绑定isVisible财产。

isVisibleBinding: 'App.pageController.myProperty' 

希望这会有所帮助。