【问题标题】:Angular bind variable from controller to view inside html从控制器到 html 内部视图的角度绑定变量
【发布时间】:2016-11-21 07:48:43
【问题描述】:

需要从控制器绑定变量到视图:

在索引 html 中:

<body ng-app="widget" ng-controller="WidgetCtrl">

    <div ng-view class="chatWidget"></div>

</body>

在控制器中:

$scope.showHideSchedule = true;

在视图中:

<div ng-show="WidgetCtrl.showHideSchedule">{{WidgetCtrl.showHideSchedule}}</div>

WidgetCtrl.showHideSchedule - 不起作用

【问题讨论】:

  • 应该是ng-show="showHideSchedule"
  • 能否请您添加一个 plunkr/fiddle 的问题。?

标签: angularjs view binding controller


【解决方案1】:

我在 $scope.$broadcast 事件的帮助下工作。我不确定这是否是最佳解决方案,但它确实有效。

【讨论】:

    【解决方案2】:

    像你一样使用ng-view。我会像这样设置html正文

    <body ng-app="widget" ng-controller="MainCtrl">
    
       <div ng-view class="chatWidget"></div>
    
    </body>
    

    然后我会像这样设置widget.html文件

    <div ng-show="widget.showHideSchedule">{{widget.widgetName}}</div>
    

    那么你的 js 代码应该看起来像这样才能使用 widget 别名

      .controller('WidgetCtrl', 
        function() {
          this.showHideSchedule = true;
          this.widgetName = 'new widget';
      }])
    

    这是一个笨蛋

    https://plnkr.co/edit/l6lmAByRXm3dYfHIrARX?p=preview

    【讨论】:

      【解决方案3】:

      尝试为控制器设置别名

      <body ng-app="widget" ng-controller="WidgetCtrl as wg">
          <div ng-view class="chatWidget"></div>
      </body>
      
      
      
      <div ng-show="wg.showHideSchedule">{{wg.showHideSchedule}}</div>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-09-02
        • 2015-12-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多