小编Mar*_*sen的帖子

为什么html中的AngularJS错误不会出现在控制台中?

这是一个小插图.当有一个ng-click指令(例如)调用未在控制器的$ scope(或其父节点)上定义的函数时,它会无声地失败.当我尝试调试网页时,这种行为令人抓狂,因为错误输入的函数名称可能意味着浪费了很多时间.我怎样才能找出这样的错误被误吞的原因,为什么答案"你做不到?"


HTML

<div ng-app="AngularApp">
    <div ng-controller="FooController">
        <button ng-click="noError()"> noError() </button>
        <button ng-click="error()"> error() </button>
        <button ng-click="works()"> works() </button>
        <br/>
        <p ng-bind="foo"></p>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)


使用Javascript

var angularApp = angular.module('AngularApp', []);

angularApp.controller('FooController', ['$scope', function($scope) {
    $scope.foo = 0;

    $scope.works = function () {
        $scope.foo += 1; // no error, everything works
    };

    $scope.error = function () {
        $scope.foo += baz; // ReferenceError: baz is not defined
    };

    // noError is not defined in the controller, so errors suddenly don't …
Run Code Online (Sandbox Code Playgroud)

html javascript debugging angularjs

7
推荐指数
1
解决办法
1775
查看次数

标签 统计

angularjs ×1

debugging ×1

html ×1

javascript ×1