【问题标题】:Is it possible to impact visibility of a DOM element outside of view?是否有可能影响 DOM 元素在视图之外的可见性?
【发布时间】:2014-05-08 17:27:07
【问题描述】:

我的问题与Hide element outside the ng-view DOM based on route非常相似

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

我尝试为 $rootScope 属性分配一个值,但它在视图之外的 index.html 中不可见。

这是我在控制器构造函数中尝试过的:

$rootScope.isForm = "true"; 在一个中,$rootScope.isForm = "false"; 在另一个中。

在我的 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的解决方案?

【问题讨论】:

  • 如果它超出了你的控制器的范围,你需要使用 vanilla js 和 css 来完成。

标签: html angularjs controller typescript


【解决方案1】:

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

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;
    }
}

【讨论】:

  • 由于$rootScope 是每个应用程序的单个对象,为什么我需要在分配前加上this?您能否解释一下或指出现有的解释?
  • 你不需要。我只是将其设为控制器的公共成员,以表明您可以将其用作成员 'public $rootScope'
猜你喜欢
  • 2010-10-07
  • 2013-11-09
  • 1970-01-01
  • 2013-07-06
  • 1970-01-01
  • 2023-03-24
  • 2010-09-12
相关资源
最近更新 更多