2017-02-16 62 views

回答

3

在父控制器中有財產說isOpentoggleIsOpen。在子控制器中,您可以注入父控制器並使用isOpen屬性並使用send('toggleIsOpen')來調用父控制器方法。

Twiddle Link其證明

控制器/ parent.js

import Ember from 'ember'; 
export default Ember.Controller.extend({ 
    isOpen:true, 
    actions:{ 
    toggleIsOpen(){ 
     console.log('toggleIsOpen in parent'); 
     this.toggleProperty('isOpen'); 
    } 
    } 
}); 

控制器/父/ child.js

import Ember from 'ember'; 
export default Ember.Controller.extend({ 
    parent: Ember.inject.controller('parent'), 
    actions:{ 
    toggleIsOpen(){  
     this.get('parent').send('toggleIsOpen');  
    } 
    } 
}); 

模板/父/ child.hbs

child {{parent.isOpen}} 
<button {{action 'toggleIsOpen' }}> Toggle </button> 
{{outlet}}