AngularJS $ scope不监视View的更改

盖兹

我有一个小示例,希望在浏览器控制台中看到表明$ scope watcher运行良好的日志消息,但不幸的是,情况并非如此。

<!doctype html>
<html ng-app="demo">

<head>
    <script src="bower_components/angular/angular.js"></script>
    <script>
    var app = angular.module('demo', ['ng']);
    app.controller('demoCtrl', function($scope) {
        var self = this;

        self.searchText = '';
        $scope.$watch('self.searchText', function(n, p) {
            console.log('searchText changed from', n, 'to', p);
        });

    });
    </script>
</head>

<body ng-controller="demoCtrl as ctrl">
    <input type="text" ng-model="ctrl.searchText" />
</body>

</html>
德米特里·帕夫鲁汀

您需要在中使用别名ctrl(不是self$scope.$watch(...)

<!doctype html>
<html ng-app="demo">

<head>
    <script src="bower_components/angular/angular.js"></script>
    <script>
    var app = angular.module('demo', ['ng']);
    app.controller('demoCtrl', function($scope) {
        var self = this;

        self.searchText = '';
        $scope.$watch('ctrl.searchText', function(n, p) {
            console.log('searchText changed from', n, 'to', p);
        });

    });
    </script>
</head>

<body ng-controller="demoCtrl as ctrl">
    <input type="text" ng-model="ctrl.searchText" />
</body>

</html>

ng-controller="demoCtrl as ctrl"使用时,角创建链接到控制器上下文对象this入范围:$scope.ctrl

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

angularJS $ scope更改不更新视图

来自分类Dev

AngularJS:监视/观察属性更改

来自分类Dev

监视AngularJS指令中元素的类更改

来自分类Dev

如何使用AngularJS监视本地存储更改

来自分类Dev

AngularJS指令监视父级大小更改

来自分类Dev

在AngularJS中使用ui.router,Grunt网络服务器似乎不监视视图更改吗?

来自分类Dev

AngularJS —将要监视的对象/对象属性传递到$ scope。$ watch

来自分类Dev

AngularJS $ Broadcast和$ on不更新$ scope

来自分类Dev

AngularJS为什么忽略$ scope字段更改?

来自分类Dev

还原AngularJs中$ scope变量的更改

来自分类Dev

为什么AngularJS忽略$ scope字段更改?

来自分类Dev

AngularJS指令:为什么不触发监视程序?

来自分类Dev

AngularJS监视服务对象

来自分类Dev

AngularJS监视未触发

来自分类Dev

监视元素位置并对AngularJS中的更改做出反应

来自分类Dev

使用ControllerAs时Angularjs监视Array的输入绑定更改

来自分类Dev

AngularJS监视ngForm引用数组以了解$ valid中的更改

来自分类Dev

监视元素位置并对AngularJS中的更改做出反应

来自分类Dev

更改值时不触发AngularJS'$ watch'

来自分类Dev

$超时不更改angularjs中的变量

来自分类Dev

在工厂上执行GET请求后,AngularJs $ scope不更新

来自分类Dev

AngularJS element.bind('resize')不更新$ scope变量

来自分类Dev

AngularJS Access $ scope函数

来自分类Dev

AngularJS $ scope。$ apply()困境

来自分类Dev

AngularJS $ scope。$ apply与$ q

来自分类Dev

AngularJS $ scope继承服务

来自分类Dev

AngularJS使用$ scope。(参数)

来自分类Dev

AngularJS $ scope vs这

来自分类Dev

AngularJS $ scope。$ apply与$ q