2013-11-23 71 views
1

我有一個把手模板是這樣的:如何顯示元素時另一個元素集中在灰燼/把手

<input> 
<button>save</button> 

這將會是非常簡單的實現jQuery的預期的效果,並在Ang-ng-show指令可能會完成這項工作。

輸入焦點時顯示按鈕的Ember方式是什麼?

目前我玩弄#unless的假設,計算屬性會做的伎倆,類似於Knockout計算。

App.DashboardView = App.BaseView.extend({ 
    notesFocused: function() { 
     this.$('#notes').is(':focus'); 
    } 
}); 

和:

{{#unless notesFocused}} 
    <button>save</button> 
{{/unless}} 

這不是工作,但是我懷疑我在正確的軌道上。我會很感激任何指針。

回答

3

您可以使用focus-infocus-out來自Ember.TextField,將focusIn和focusOut事件轉移到控制器或路由。並保持狀態的變量:

{{input type="text" focus-in="notesFocusIn" focus-out="notesFocusOut"}}  
{{#unless notesFocused}} 
    <button>save</button> 
{{/unless}} 

控制器

App.DashboardController = Ember.Controller.extend({ 
    notesFocused: false, 
    actions: { 
     notesFocusIn: function() { 
      this.set('notesFocused', true); 
     }, 
     notesFocusOut: function() { 
      this.set('notesFocused', false); 
     } 
    } 
}); 

在操作中查看http://jsfiddle.net/marciojunior/KN4dk/

+0

非常整潔,謝謝。 – bcmcfc

相關問題