标记中的基本调试

范围测试和模型输出

<div ng-app="demoApp" ng-controller="mainController as ctrl">
    {{$id}}
    <ul>
        <li ng-repeat="item in ctrl.items">
            {{$id}}<br/>
            {{item.text}}
        </li>
    </ul>
    {{$id}}
    <pre>
       {{ctrl.items | json : 2}}
    </pre>
</div>

angular.module('demoApp', [])
.controller('mainController', MainController);

function MainController() {
    var vm = this;
    vm.items = [{
        id: 0,
        text: 'first'
    },
    {
        id: 1,
        text: 'second'
    },
    {
        id: 2,
        text: 'third'
    }];
}

有时它可以帮助查看是否有新的范围来修复范围问题。$scope.$id 可以在标记中的任何位置使用,以查看是否有新的$ scope。

在该示例中,你可以看到 ul-tag 之外的范围相同($ id = 2),并且在 ng-repeat 内部,每次迭代都有新的子范围。

预标签中模型的输出对于查看模型的当前数据非常有用。json 过滤器创建一个漂亮的格式化输出。使用预标记是因为在该标记内部将正确显示任何换行字符\n

演示