加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何在AngularJS中调试类型转换错误?

发布时间:2020-12-17 17:37:29 所属栏目:安全 来源:网络整理
导读:我是一个 javascript noob,并试图学习角度. 我有一些简单的angularJS代码,如下所示: div ng-controller="todoController" span temp = {{tempVal()}} /span/div 这个bug很容易,tempVal是一个字符串,而不是一个方法. 我的问题(和问题)是,我如何在调试时发现
我是一个 javascript noob,并试图学习角度.

我有一些简单的angularJS代码,如下所示:

<div ng-controller="todoController">
    <span> temp = {{tempVal()}} </span>
</div>

这个bug很容易,tempVal是一个字符串,而不是一个方法.

我的问题(和问题)是,我如何在调试时发现这个事实?

我正在使用Chrome并安装了Batarang扩展程序,但我得到的只是一个神秘的堆栈跟踪:

TypeError: string is not a function
at http://localhost:6202/lib/angular-1.0.4/angular.js:6213:13
at Object.$interpolate.fn (http://localhost:6202/lib/angular-1.0.4/angular.js:4829:22)
at Object.watchExpression (http://localhost:6202/AddSomeControl/index.html:416:29)
at Object.Scope.$digest (http://localhost:6202/lib/angular-1.0.4/angular.js:7783:38)
at Object.Scope.$apply (http://localhost:6202/lib/angular-1.0.4/angular.js:7991:24)
at Object.$delegate.__proto__.$apply (http://localhost:6202/AddSomeControl/index.html:500:30)
at http://localhost:6202/lib/angular-1.0.4/angular.js:932:13
at Object.invoke (http://localhost:6202/lib/angular-1.0.4/angular.js:2813:25)
at bootstrap (http://localhost:6202/lib/angular-1.0.4/angular.js:930:12)
at angularInit (http://localhost:6202/lib/angular-1.0.4/angular.js:906:5) angular.js:5601

我试图弄清楚如何在复杂的应用程序中使用这些工具,我发现错误是在tempVal()行周围.

我尝试在记录错误时设置一个断点并查找callstack,并在$get.Scope.$digest中看到一个捕获的异常,它可以告诉我父作用域id(this.target.$id),随着什么“观察者”(this.length)崩溃,以及之前完成的html元素(this.value)….是最好的方法吗?多么痛苦:(

解决方法

不幸的是,答案是您无法调试此类错误.

好吧,你可以,它被称为“学习角度编译器/ vm并调试它”

这些类型的使用错误没有开发用户友好包装.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读