angularjs:双更改根范围

angularjs:双更改根范围,angularjs,scope,rootscope,Angularjs,Scope,Rootscope,我有点像 myApp.run(function ($rootScope, $window, $location) { $rootScope.empty_nav = function (showme) { $rootScope.msg_nav_planes=true; $rootScope.msg_nav_tusplanes=true; $rootScope.msg_nav_participantes=true; $rootScope.msg_nav_fot

我有点像

myApp.run(function ($rootScope, $window, $location) {
    $rootScope.empty_nav = function (showme) {
    $rootScope.msg_nav_planes=true;
    $rootScope.msg_nav_tusplanes=true;
    $rootScope.msg_nav_participantes=true;
    $rootScope.msg_nav_fotos=true;
    $rootScope.msg_nav_listas=true;
    $rootScope.msg_nav_back=true;
    $rootScope.msg_nav_plan=true;

    $rootScope.showme = '';   // this wont work :(
 };
});
其中«true»隐藏了元素。这些元素是标题中的导航链接。我根据我所在的页面交换它们,从相应的控制器调用empty_nav()。 问题是$rootScope。如果在函数中执行console.log(),则每个项都能正确获取值,包括所选的值。但在具体情况下(浏览每一页),它只隐藏所有项目,但之后所指示的项目不会消失

我做错什么了吗


PD:我也在想,只有一个项目,并将链接和文本传递给它。。。。相反,有这么多的条目://

我真的不觉得有什么问题,创建一个JSFIDLE可能有助于澄清问题。但总的来说,我觉得你的设置是错误的。如果你想为不同的页面显示不同的部分,你应该看看AngularJS中的路由。这看起来像是一个无法维持的烂摊子…我同意。使用$rootScope not for event($emit,$on)通常是一种警告。我建议你多读一些关于angularjs的书。很棒(50+免费视频)