我尝试通过点击功能设置另一个控制器的属性。
click: function(event){
var controller = this.get('controller');
router.transitionTo('inc.index',this.content);
console.log(controller.hidden)
controller.set('hidden',false);
}
})
因此我使用hiddenbinding:
设置tableControllerApp.TableController = Em.ArrayController.extend({
needs: ['mainMenu'],
hidden:true,
hiddenBinding: 'controllers.mainMenu.isHidden'
})
App.MainMenuController= Em.Controller.extend({
isHidden: true
})
在我的导航栏中,当tableController中的'hidden'更改时,属性'isHidden'应该会改变。
<script type="text/x-handlebars" data-template-name="mainMenu">
<nav>
<ul class="nav">
<li {{bindAttr class="isHidden:hidden"}}> {{#linkTo "incidents"}} Störfall {{/linkTo}}</li>
</ul>
</nav>
不幸的是,绑定不起作用,我不知道为什么。 我尝试的方法与之前发布here的方式相同,但我想我理解错了。