AngularJS理论:在范围内创建新对象与分配变量之间的区别

时间:2015-02-03 03:24:27

标签: angularjs angularjs-scope

我有一个关于在范围内分配变量与新对象的问题。以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变量使用'=',为什么它会创建一个新的范围,因此不起作用?感谢对该主题的任何评论。谢谢

0 个答案:

没有答案