【.com速译】如果您不熟悉AngularJS,在最初创建Web应用程序时可能会担心很多问题。虽然这可能已经是我们可以使用的最困难的Web开发框架之一,但您仍然需要了解一些重要的技能来简化适应过程。此外,即使是最熟练的Web开发人员也具有丰富的AngularJS经验。但是,只要我们成功地掌握了这些技能和技能,每个人都可以用最简单的方式创建自己最实用、最优秀的Web应用程序。我们要做的第一件事就是投入时间学习这些技能和技巧,最后将它们无缝地融入到我们的实际使用中。让我们一起来看看如何迈出第一步:学习和理解与作用域相关的一切之所以如此重要,是因为Angular.js中的一切都围绕着作用域。Angular.js在使用指令和控制器时创建一个作用域结构。我们需要学习如何隔离特定位置的作用域和作用域值。您可以使用.scope方法访问Angular.js中每个元素的范围。Angular.js作用域其实很有趣,但前提是大家对它的一切都了解透彻。让我们看看一些非常有用的作用域技巧:$($0).scope()这段代码可以帮助您轻松查看作用域及其与特定元素关联的所有属性。从父范围继承的属性不会显示,但如果需要查看它们,您可以随时输入它们的名称。要搜索父作用域的属性,请使用$($0).scope().$parent代码。$($0).scope().$root这段代码是用来查看根代码的属性的。如果您通过隔离范围突出显示了一条指令,则可以使用$($0).isolateScope()查看其属性。如果我们突出显示隔离范围内的元素,我们可以使用$($0).scope()代码来显示哪些可用。关于scope的一切,表面上看似乎很难理解,但实际难度并不高。你只需要深入掌握其中的几个关键点。如果您在遇到特定需求时不知道该怎么做,尝试一下绝对没有坏处。这样,我们就可以很容易地理解什么时候该做什么,整个开发过程也会变得更加容易。简单易用Breakpointconsole.log或debugger可以看作是指令,可以随时帮助我们调试JavaScript代码。它们很有用,但不是必需的。在这种情况下,您必须了解有关断点的一切——目前在每个主要的浏览器检查工具中都有。在断点的帮助下,您将找到所需的位置,而无需查阅整个循环。检查变量的来源创建和使用用Angular.js编写的Web应用程序很容易,但应用程序可能需要随着时间的推移而发展。在这种情况下,我们可能很难清楚地理解模板中的一些变量是从哪里来的。如果只是一个孤立范围内的指令,那么大家很容易找到答案。但是当面对复杂的指令和控制器结构时,我们无疑需要一种更智能的方式来追踪变量的来源。实际操作方法如下:找到使用该变量的元素,并检查其作用域。检查它的值,例如使用$($0).scope().foo代码,其中属性称为“foo”。如果它的值已经被定义,你可以据此得出答案,因为该属性必须是来自自定义层的控制器或指令。如果还没有定义值,你可以尝试DOM中的其他层。只要重复这个过程,答案最终就会浮出水面。找出某些元素未显示的原因有时您会发现自己使用ng-if、ng-switch或ng-views进行搜索或检查,但某些元素未显示。这是因为此类指令根据状态或它们使用的路径从整个DOM添加或删除它们的内容。只要使用ng-show解决问题,它就可以通过隐藏是否可见来显示和隐藏这些元素。在Angular.js中,注释将保留在与元素相同的位置。找到一个控制器来处理页面的特定部分当然是一项无需动脑筋的任务,但必须强调的是,相当多的开发人员已经忘记了这一点。要找到负责处理页面特定部分的控制器,DOM中的ng-controller属性会有很大帮助。对于许多人来说,从大量HTML页面中查找属性并不容易。但是有一条捷径;单击对象元素,然后运行??$($0).attr('ng-controller')。如果没有返回结果,那么我们需要点击父范围再试一次。jQuery在这方面也扮演着重要的角色。要找到与当前位置非常接近的控制器,可以使用以下代码:$($0).closest('[ng-controller]').attr('ng-controller')理解摘要循环$digest负责触发Angular.js中的变化。如果没有特定的代理或对象说明符,Angular.js将不会在对象的属性更改时收到来自对象的通知。考虑到这一点,摘要周期的作用是检查观察者并向他们表达任何变化。也就是说,在运行摘要的情况下,Angular.js会及时了解当前的事件。而一旦Angular.js无法识别的某些事件发生,比如控制台命令,接下来什么也不会发生,Angular也不会自动启动digest。这时候就必须手动执行digest才能得到相关的更新。与任何其他编程语言一样,Angular.js使用起来可能有点棘手。但是只要你能掌握其中的技巧和窍门,这种困难是不会长久的,这对于每一个立志学习Angular.js并用它来进行应用开发的朋友来说都是非常重要的。原标题:如何调试不熟悉的AngularJS代码
