Angularjs 吴秀兰;在我的项目中使用$rootScope隐藏?
我有下面的代码,并且运行良好,我想知道如何使这个变量显示在我的根范围内 问题是我现在使用的是不同的控制器和指令 因此: 如果我把它放在指令1中:Angularjs 吴秀兰;在我的项目中使用$rootScope隐藏?,angularjs,Angularjs,我有下面的代码,并且运行良好,我想知道如何使这个变量显示在我的根范围内 问题是我现在使用的是不同的控制器和指令 因此: 如果我把它放在指令1中: <a href="" ng-click="showme=true">Show</a> <button ng-click="showme=false">Hide</button> 隐藏 而这在指令2中不起作用: <div class="wrapper"> <p n
<a href="" ng-click="showme=true">Show</a>
<button ng-click="showme=false">Hide</button>
隐藏
而这在指令2中不起作用:
<div class="wrapper">
<p ng-hide="showme">It will appear here!</p>
<h2 ng-show="showme">This is mah content, yo!</h2>
</div>
它将出现在这里
这是mah内容,哟!
如果在同一指令html+angular中,则完整代码可以工作
<div ng-app="">
<h1>Ng-show & ng-hide</h1>
<p class="description">Click on the "show"-link to see the content.</p>
<a href="" ng-click="showme=true">Show</a>
<button ng-click="showme=false">Hide</button>
<div class="wrapper">
<p ng-hide="showme">It will appear here!</p>
<h2 ng-show="showme">This is mah content, yo!</h2>
</div>
</div>
Ng显示和Ng隐藏
单击“显示”链接以查看内容
隐藏
它将出现在这里
这是mah内容,哟!
我听说我可以使用这样的东西:
$rootScope
,但在这种情况下我如何实现它呢?谢谢。您需要确保在$rootScope
上设置了show
。方便的地方是run
block:
.run(['$rootScope', function($rootScope) {
$rootScope.show = false
}])
之后,所有作用域都将从其父级继承show
另一种选择。实际上,您可以从任何模板直接引用$rootScope
,这可能是最简单的解决方案:
<a href="" ng-click="$root.show = true">Show</a>
<button ng-click="$root.show = false">Hide</button>
隐藏
确保您在$rootScope上定义了show。这可能会帮助您感谢我的jshint,并抱怨:20 |。运行(['$rootScope',function($rootScope){^需要一个标识符,而是看到了“.”。20 |。运行(['$rootScope',function($rootScope){^应为赋值或函数调用,但看到的是表达式。20 |。run(['$rootScope',function($rootScope){^缺少分号。20 |。run(['$rootScope',function($rootScope){^'run'未定义。因为它不是有效语法。。run
是角度模块的一种方法。