angularjs起点如何顺序

时间:2015-06-29 22:28:21

标签: angularjs where

我是一名经验丰富的.ASPX开发人员,有很多JavaScript,还有一些jQuery也做过。即使是AngularJS的新手,我也花了很多时间阅读并轻松完成动手教程。

但是,在教程和简单的项目之后,我总是被卡住,因为不知道Angular执行的起点在哪里,部分地被这么多的.js文件和in的编码风格搞糊涂了。 - 线/可链式功能构造。

Web Form后端通常从.cs文件的Page_Load()开始。

我可以寻找的客户端jQuery和JavaScript   - $ .ready()
  - 直接陈述,例如var x = ...在任何函数之外    定义

也许,我应该在第一个index.html中寻找 ng-app 和所有 ng-controller 指令。那么,如果有很多.js文件呢?

我想过使用客户端调试器设置一些断点。如果我不知道将访问此模块,则无法设置行。

我很感激,如果有人可以给我一个如何遵循执行的指导,如何找到WHERE。这是我感到困惑的sample project之一

如果这个问题过于宽泛,我很抱歉。

2 个答案:

答案 0 :(得分:1)

默认情况下,通过在html标签中查找ng-app或ng-controller属性,自动引导angularjs app。这是一个angularjs应用程序的js文件通常放在html文件的末尾。否则,javascript将在html完成加载之前执行,通常你会在控制台输出中输出一条错误消息。

您还可以使用文档就绪事件手动引导角度应用程序。看看:

https://docs.angularjs.org/guide/bootstrap

在我的项目中,我使用手动引导程序仅在加载所有文件时运行角度应用程序。我定义了一个main函数,并在文档加载的事件上运行此函数。

            /// <summary>
            /// Bootstrap the ng-app on DOM loaded.
            /// </summary>
            $().ready(function () {
                main();
            });

在主要功能的一侧,我初始化了角度应用程序,例如加载模块,注册服务/控制器,设置路由。

            /// <summary>
            /// Entry point of the application.
            /// </summary>
            function main() {

                ngModule = angular.module("YourApplication", ['ui.router', 'ui.bootstrap', 'ui.select', 'ui.slider', 'ngCookies']);

                // register services
                ngModule.service('AppManager', Services.AppManager);

                // register controllers
                 ngModule.controller("LoginController",Controllers.LoginController);

                ngModule.config(angularConfigure);

                // This line cause the angular app to bootstrap
                angular.bootstrap('body', ['YourApplication']);
            }

我找到了很多关于学习AngularJs的资源,并相信它会有所帮助。

https://github.com/jmcunningham/AngularJS-Learning

答案 1 :(得分:0)

您提到的示例项目有一个名为app.js.的文件。这是配置所有路线的地方。这是根据浏览器中输入的url告诉angular控制器js调用的配置。例如,/ simplePaging控制器是simpleCtrl,可以在simpleCtrl.js中找到。只需按照app.js中的路线进行操作即可了解代码。