我試圖通過單擊其中一個模板上的按鈕來切換應用程序控制器上的全局屬性。我讀過一些關於動作冒泡的東西,但不能它起作用。將操作發送到EmberJS中的應用程序控制器
這裏的應用程序控制器
export default Ember.Controller.extend({
isAuthenticated: true,
actions: {
logIn: function(){
this.toggleProperty('isAuthenticated');
}
}
});
的財產和行動,並在這裏與一個login.hbs模板文件中的作用(我很快就會變成一個適當的按鈕)
<span {{action 'logIn'}}>
{{#link-to 'boards' class="btn-l bg-blue white db mtl link bn w-100"}}Login{{/link-to}}
</span>
我如何確保操作切換應用程序控制器上的屬性?
或者像this.get('foreigncontroller')。send(「actionname」,parameter1,parameter2 ...)這樣的函數。 如果foreigncontroller被注入或提供 –
這將以相同的方式與組件中的按鈕一起工作嗎? – jermainecraig
@jermainecraig因爲你不能在組件內注入控制器。爲此,您需要使用應該從template.hbs發送到組件的閉包動作。 – kumkanillam