$scope.$watch 如何工作

约翰·多伊

我写了一个应用程序来理解 Angular $scope.$watch()但是这样做时遇到了一个我无法理解的问题。

使用以下代码,我期望当input框中的值更改语句“数据正在更改!!” 将被记录到控制台。

   <!DOCTYPE html>
     <html lang='en' ng-app="app">
       <head>
         <meta charset="utf-8">
         <title>My $Scope.$watch demo</title>
       </head>
       <body>
         <div ng-controller="MainController">
           <input ng-model='myData.val'>
           <h1>{{myData.val}}</h1>
         </div>
         <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0/angular.min.js"></script>
         <script type="text/javascript">
           angular.module('app', [])
           .controller('MainController', ['$scope', function($scope){
             $scope.myData = {};
             console.log($scope.myData);
             $scope.myData = { val:"Bablo"};
             console.log($scope.myData.val);
             $scope.$watch('$scope.myData.val', function(){
               console.log("Data is changing!!");
             });
           }]);
         </script>  
       </body>
     </html>

但是我没有观察到我所期望的,但是当我将$scope.$watch()参数更改myData.val(之前是$scope.myData.val)时,它开始正常工作。为什么这样?

如果我通过整个$scope.myData.val而不是仅仅通过,这里有什么问题mydata.val

约格什·米斯特里

在编写时,$scope.$watch('model_name', function(){})您已经引用了model_nameunder $scope,因此当您在前面加上 时$scope,它将在您的情况下查找$scope.$scope.model_nameie $scope.$scope.myData.val这就是为什么myData.val工作和为什么$scope.myData.val没有的原因

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在TypeScript上使用$ scope。$ watch

来自分类Dev

如何轻松确定$ scope。$ watch中添加/删除的内容?

来自分类Dev

如何检测$ scope。$ watch中已删除的项目?

来自分类Dev

无法弄清楚如何使用$ scope。$ watch

来自分类Dev

使用`this。$ watch`代替`$ scope。$ watch`和'Controller As'

来自分类Dev

$ scope或$ scope。$ watch中的作用域?

来自分类Dev

当我告诉AngularJS $ scope.watch()观看数组时,为什么它停止工作?

来自分类Dev

输入框为空时angularJS $ scope。$ watch无法正常工作

来自分类Dev

在$ scope。$ watch上实施延迟

来自分类Dev

angularJS scope。$ watch整个对象

来自分类Dev

使用$ scope。$ watch的迭代错误

来自分类Dev

在$ scope。$ watch上实施延迟

来自分类Dev

AngularJS $ scope。$ watch对象的属性

来自分类Dev

$ watch()没有更新$ scope

来自分类Dev

我如何使用带有角度全栈生成器语法的$ scope和$ watch?

来自分类Dev

如何在Angular 1.5组件中等待绑定(没有$ scope。$ watch)

来自分类Dev

$ location.search()-如何在$ scope。$ watch函数中使用作用域中的参数?

来自分类Dev

$ scope。$ watch和$ watch之间有什么区别?

来自分类Dev

使用scope。$ watch观察函数何时执行

来自分类Dev

$ scope。$ watch在jQuery onchange之后不触发?

来自分类Dev

AngularJS $ scope。$ watch选择输入的属性ngModel

来自分类Dev

在$ routeProvider解决后,Angularjs添加$ scope。$ watch

来自分类Dev

属性更新时不会触发$ scope。$ watch

来自分类Dev

scope。$ watch不触发变量更改

来自分类Dev

链接函数中的$ scope.watch()

来自分类Dev

$ scope.watch不会等到变量被更改

来自分类Dev

属性更新时不会触发$ scope。$ watch

来自分类Dev

$ scope。$ watch在jQuery onchange之后不触发?

来自分类Dev

链接函数中的$ scope.watch()

Related 相关文章

  1. 1

    如何在TypeScript上使用$ scope。$ watch

  2. 2

    如何轻松确定$ scope。$ watch中添加/删除的内容?

  3. 3

    如何检测$ scope。$ watch中已删除的项目?

  4. 4

    无法弄清楚如何使用$ scope。$ watch

  5. 5

    使用`this。$ watch`代替`$ scope。$ watch`和'Controller As'

  6. 6

    $ scope或$ scope。$ watch中的作用域?

  7. 7

    当我告诉AngularJS $ scope.watch()观看数组时,为什么它停止工作?

  8. 8

    输入框为空时angularJS $ scope。$ watch无法正常工作

  9. 9

    在$ scope。$ watch上实施延迟

  10. 10

    angularJS scope。$ watch整个对象

  11. 11

    使用$ scope。$ watch的迭代错误

  12. 12

    在$ scope。$ watch上实施延迟

  13. 13

    AngularJS $ scope。$ watch对象的属性

  14. 14

    $ watch()没有更新$ scope

  15. 15

    我如何使用带有角度全栈生成器语法的$ scope和$ watch?

  16. 16

    如何在Angular 1.5组件中等待绑定(没有$ scope。$ watch)

  17. 17

    $ location.search()-如何在$ scope。$ watch函数中使用作用域中的参数?

  18. 18

    $ scope。$ watch和$ watch之间有什么区别?

  19. 19

    使用scope。$ watch观察函数何时执行

  20. 20

    $ scope。$ watch在jQuery onchange之后不触发?

  21. 21

    AngularJS $ scope。$ watch选择输入的属性ngModel

  22. 22

    在$ routeProvider解决后,Angularjs添加$ scope。$ watch

  23. 23

    属性更新时不会触发$ scope。$ watch

  24. 24

    scope。$ watch不触发变量更改

  25. 25

    链接函数中的$ scope.watch()

  26. 26

    $ scope.watch不会等到变量被更改

  27. 27

    属性更新时不会触发$ scope。$ watch

  28. 28

    $ scope。$ watch在jQuery onchange之后不触发?

  29. 29

    链接函数中的$ scope.watch()

热门标签

归档