您好我是AngularJS的新手并且非常喜欢它的外观,从我可以收集的内容看,Angular JS似乎是一个在前端运行的MVC,而不是使用后端语言来管理它?
所以我正在尝试创建一个非常简单的列表应用程序,它将在前端显示列表项,然后在后端显示项目到数据库。
使用Angular JS我真的不知道从哪里开始,因为我无法想象首先为数据库调用编写PHP。
在开发Angular JS应用程序时,您首先从Angular的前端和MVC组件开始,然后再添加数据调用吗?
我并不是说这是自以为是的,但我只是想知道你是否构建了前端组件,然后在之后连接数据方法?
谢谢,尼克
答案 0 :(得分:0)
步骤:
答案 1 :(得分:0)
订单确实是随意的。最近我完成了我的第一个AngularJS应用程序,所以我理解你的dillema ......你可以按照我的方式:
准备app.js
之类的文件并初始化整个应用(使用angular.module
)。
准备index.html
,包括所需的脚本/样式和<ng-view>
(或备选地<ui-view>
,请参阅步骤3的差)作为用于所有视图的占位符。
考虑您需要哪些视图以及它们之间的转换效果如何。然后为每个视图准备xxx.html
模板,并使用ducatsApp.config
描述视图之间的转换(您可以使用routeProvider
或stateProvider
,在后一种情况下,index.html中的视图占位符应为称为<ui-view>
)。使用$urlRouterProvider.otherwise
准备错误链接的特殊路径。
测试您的路由。
使用所有控制器准备controllers.js
之类的文件 - 在步骤3中创建的每个非静态视图都应有一个控制器。
内部控制器使用$scope
与视图进行通信,并使用$http
与后端进行通信,例如:
this.getUsers = function() {
return $http({
method: 'GET',
url: "/users",
headers: {'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'}
});
};
出于学习目的,您可以使用$httpBackend
模拟后端。这是Angular框架的一个非常好的功能。请记住,$httpBackend
会捕获所有http请求尝试,因此您至少要为您的html视图设置例外,例如:那样:$httpBackend.whenGET(/^\/views\//).passThrough();
。
然后,您可以像backend.js
那样处理http请求处理:
$httpBackend.whenGET('/users').respond(function(method, url, data) {
return [200, getUsers()];
});
并实现相应的功能(如上面的getUsers()
),它将模拟服务器行为。因此,您不需要实现任何真正的后端,您可以使用JavaScript。
在backend.js
内,您可以使用sessionStorage
或localStorage
HTML5功能,如果您想模拟非常小的数据存储,这是完美的。
您还可以识别一些控制器可能常用的功能。您可以将这些功能单独放在services.js
文件中。但这对于启动并运行应用程序并不是强制性的。
如果您遵循这些指导原则,您就可以完全在客户端实施类似E2E的Web应用程序。