在AngularJS中,使用console.log来输出$scope。

34 浏览
0 Comments

在AngularJS中,使用console.log来输出$scope。

为什么我无法在控制台输出$scope的值?我正在尝试从页面中提取用户分配的值并在控制器中检索。最终,我想将其传递给服务,以便多个控制器可以访问这些数据。

HTML


    
            
            
                
            
            
                
            
            

Hello world!

This is what you entered : {{ name }}

 

now filtering: {{ lower() }}

 


APP.JS

var myApp = angular.module('myApp', []);
myApp.controller('mainController', ['$scope', '$filter', function($scope, $filter) {
    $scope.name = 'Test ';  
    $scope.lower = function(){
        return $filter('lowercase')($scope.name);
    }
    $scope.name = $scope.lower();
    console.log($scope.name);
    console.log($scope.lower());
}]);

控制台将在初始化时输出值,但在用户进行更改后不会输出。

\"enter

admin 更改状态以发布 2023年5月24日
0
0 Comments

只是一个更“功能性”的版本。大家都是对的,你正在记录可观察到的内容,而不是观察到的内容。你想要的是每次更改$scope时调用console.log,而不是现在只调用一次。

$scope.$watch("name", console.log);

0
0 Comments

你需要关注作用域变量:

$scope.$watch('name', function() {
    console.log($scope.name);
});

更多信息:https://stackoverflow.com/a/15113029/5787736

0