【问题标题】:AngularJS how to invoke the ng-show on a div from another controllerAngularJS如何从另一个控制器调用div上的ng-show
【发布时间】:2014-04-30 07:02:12
【问题描述】:

我是 AngularJS 的新手,并试图在企业项目中使用它。 到目前为止,我已经跨越了许多障碍,但每天都有它的问题! 拜托,我需要你的帮助。

此屏幕上的功能是一个两步过程。 首次加载页面时,会显示并填充 div1。 但是,div2 只显示一个按钮。

然后,当用户单击 div2 中的按钮时,div2 将由来自服务器的信息填充。 所以,我们最终在屏幕上显示了 div1 和 div2。 这 2 个 div 具有独特的 angularjs 控制器。

我的问题是当用户点击 div1 中的链接 (toggleDiv2) 时如何显示和隐藏 div2。

需要显示/隐藏才能重新开始处理,即单击链接 (toggleDiv2) 会使用一组新的 html 控件重新填充 div1,以便调用新的 Web 服务来填充 div2。 我已经尝试简化场景。

我已使用服务在控制器之间共享数据并在同一控制器内完成显示/隐藏。 但是,这个是在多个控制器之间显示/隐藏,它打败了我哦! 任何帮助将不胜感激。 谢谢。

<div id="div1" ng-controller="EventSourceCtrl">

         <a id="toggleDiv2" href="#" ng-  click="functionDefinedInEventDestinationCtrl('false');"> Close Div named myDiv </a>

</div>

<div id="div2" ng-show="someFlagOrFunctionInaControllerOrService" ng-controller="EventDestinationCtrl">

    <button id="buttonId" type="button" ng-click="getInfoFromServerToPopulateDiv2()" class="btn"></button>

</div>

【问题讨论】:

  • 我想知道为什么functionDefinedInEventDestinationCtrl('false') 使用false 的字符串作为其输入?
  • 我只是编造的......我会很感激如何实现这个的 sn-p 或逻辑......我没有收到任何 AngularJS 错误......只是不知道如何关闭一个 div 驻留在另一个控制器中。谢谢。

标签: javascript jquery angularjs angular-ui-bootstrap


【解决方案1】:

您只需将 EventSourceCtrl 中的标志设置为 true

// js

app = angular.module('app', [])

app.controller('EventSourceCtrl', function($scope) {
  $scope.functionDefinedInEventDestinationCtrl = function () {
    $scope.someNameSpace || ($scope.someNameSpace = {});
    $scope.someNameSpace.someFlagOrFunctionInaControllerOrService = true;
  }
});

// html

<div id="div2" ng-show="someNameSpace.someFlagOrFunctionInaControllerOrService" ng-controller="EventDestinationCtrl">

【讨论】:

  • 谢谢 Gabe ...这不起作用...我猜是因为链接在不同的控制器中,因为 div 试图显示/隐藏。
  • 啊,是的。请查看我的编辑。尽管someFlatOrFunctionInaControllerOrService 在嵌套控制器的范围内,但父控制器仍然可以对其进行操作。也就是说,您需要命名变量,使其属于父控制器。 youtube.com/watch?v=DTx23w4z6Kc
猜你喜欢
  • 1970-01-01
  • 2014-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-27
  • 1970-01-01
  • 2015-06-10
相关资源
最近更新 更多