Html 是否可能影响视图外DOM元素的可见性?

Html 是否可能影响视图外DOM元素的可见性?,html,angularjs,controller,typescript,Html,Angularjs,Controller,Typescript,我的问题很类似于 如果可能的话,我希望有一个TypeScript解决方案,允许从我现有的控制器为ng view之外的元素的ng show属性赋值 我尝试给$rootScope属性赋值,但它在视图外部的index.html中不可见 以下是我在控制器构造函数中尝试的内容: $rootScope.isForm=true;在1中,$rootScope.isForm=false;另一方面 在my index.html中,我有以下内容: <div class="navbar navbar-invers

我的问题很类似于

如果可能的话,我希望有一个TypeScript解决方案,允许从我现有的控制器为ng view之外的元素的ng show属性赋值

我尝试给$rootScope属性赋值,但它在视图外部的index.html中不可见

以下是我在控制器构造函数中尝试的内容:

$rootScope.isForm=true;在1中,$rootScope.isForm=false;另一方面

在my index.html中,我有以下内容:

<div class="navbar navbar-inverse">
    ....
    <form <form class="navbar-form navbar-input-group" ng-show="$rootScope.IsForm">
     ...
    </form>
    ...
</div>
...
<div "ng-view">
...
</div>
我该怎么做呢?还有使用$rootScope的解决方案吗?

您可以在控制器中获取$rootScope并在那里进行修改。i、 e

class FooController{
    static $inject = ['$rootScope'];
    constructor(public $rootScope){
         // You can also do this based on some user action. 
         // Just a demo of how : 
         this.$rootScope.IsForm = true;
    }
}

如果它不在控制器的作用域内,则需要使用vanilla js和css来完成。因为$rootScope是每个应用程序的单个对象,为什么我需要在分配之前加上这个前缀?你能解释一下或者指出一个现有的解释吗?你不需要。我刚刚将其设置为控制器的公共成员,以显示您可以将其用作“public$rootScope”成员