我有一个关于在范围内分配变量与新对象的问题。以plnkr为例,我有一个开/关画布菜单(http://plnkr.co/edit/bJsDuEd9QPG65HMdkAIQ?p=info)。在app.js文件中定义的mainCtrl内。我已经定义了两个范围变量,如下所示:
$scope.navLeft= false;
$scope.navRight=false;
在此示例中,我使用ng-include链接到navbar.html,其中包含导航栏和左侧导航菜单切换开关。这个切换不起作用,我明白ng-include会创建一个新的范围。
然而,在下一个plnkr示例(http://plnkr.co/edit/PQOeT61mjZdDWwSbjlyQ?p=preview)中,navLeft和navRight是在新对象中定义的。
$scope.nav = {
navLeft:false,//default navLeft menu off
navRight:false//default navRight menu off
};
这样可以,即打开/关闭navLeft菜单。我有问题,为什么后一个使用新对象的例子不会创建一个新的范围呢?但第一个定义navLeft& amp; navRight变量使用'=',为什么它会创建一个新的范围,因此不起作用?感谢对该主题的任何评论。谢谢