javascript - 将作用域传递给函数不起作用

标签 javascript angularjs

我是angular.js的新手,并且$scope在 Controller 内部的函数中不起作用......

  <div>{{logMsg}}</div>

  <script type="text/javascript">
      angular.module("app",[] ).controller("myController", function($scope){
          $scope.onConnect = function(status){
          $scope.logMsg = "connecting...";
          } 
          function onMessage(msg) {
            console.log('message');
            $scope.logMsg = "message...";
          }
      });


  </script>

显示connecting...,但不显示message...。但我在控制台中收到了消息。我做错了什么。提前致谢。

最佳答案

在本例中,$scope 超出范围

<script type="text/javascript">

    angular.module("app",[] )
      .controller("myController", function($scope){ <- scope of $scope is from here
          $scope.onConnect = function(status){
             $scope.logMsg = "connecting...";
          } 
      }); <- to here

      function onMessage(msg) {
          console.log('message');
          $scope.logMsg = "message..."; <- no $scope here
      }
 </script>

解决方案是按照onConnect的方式编写onMessage。或者将 $scope 分配给另一个不推荐的变量。

关于javascript - 将作用域传递给函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39244519/

相关文章:

angularjs - ngModel 格式化器和解析器

javascript - 折叠使用 angular js ng-repeat 和过滤器创建的 div

javascript - 使用 Angular 2 中的 Observables 获取一次数据

javascript - 优化用 TypeScript 编写的文件内容解析器类

javascript 对象到 jquery 选择器

AngularJS - 使用关联数组参数发送 $http GET 请求

html - ngRepeat on a <tr> with rowspan?

ios - 当我构建 ios 应用程序 (cordova)

javascript - HTML5 Canvas 在绘图时闪烁

javascript - 如何从保存在数组中的元素中更改某个值?