AngularJS基于创建一个完整的mvc模板,($http访问数据)
2018-02-01 14:25
603 查看
知识储备:$http要访问的url是我用easy mock模拟的假数据,也可以用json库。
本文要用到angular的promise对象的知识,建议大家去看一下Angularjs
promise对象解析
什么是MVC:
MVC其实就是一种开发模式,有模型(model)、视图(view)、控制器(controller)3部分构成,采用这种方式为合理组织代码提供了方便,降低了代码间的耦合度,功能结构清晰可见。
Model:一般用来处理数据,包括读取和设置数据,一般指的是操作数据库。
View:一般用来展示数据,就是放数据,比如通过HTML来展示。
Controller:因为一个模块里面可能有多个视图和模型,控制器就起到了连接模型和视图的作用。
下面引用网上一张图片,说明各部分之间的关系:
在angular中的体现,HTML文件:
2.定义模块,一般都是用angular.module()方法定义一个模块(controller文件)
page.controller('MyCtrl',["$scope",'MvcService',function ($scope,MvcService) {
$scope.btn=function () {
MvcService.getName().then(function (response) {
console.log("请求成功" + response);
$scope.msg=response;
if (angular.isObject(response)) {
console.log("登陆成功,跳转");
} else {
console.log("登录失败");
}
},
function error(response) {
console.log("请求失败")
});
}
}]);3.我声明一个sercice文件,用来存放service访问url。
希望大家指正。
本文要用到angular的promise对象的知识,建议大家去看一下Angularjs
promise对象解析
什么是MVC:
MVC其实就是一种开发模式,有模型(model)、视图(view)、控制器(controller)3部分构成,采用这种方式为合理组织代码提供了方便,降低了代码间的耦合度,功能结构清晰可见。
Model:一般用来处理数据,包括读取和设置数据,一般指的是操作数据库。
View:一般用来展示数据,就是放数据,比如通过HTML来展示。
Controller:因为一个模块里面可能有多个视图和模型,控制器就起到了连接模型和视图的作用。
下面引用网上一张图片,说明各部分之间的关系:
在angular中的体现,HTML文件:
<!DOCTYPE html> <html lang="en" ng-app="mvcApp"> <head> <meta charset="UTF-8" > <title>Title</title> <script src="../angular/angular.min.js"></script> <script src="../node_modules/q/q.js"></script> <script src="./mvc_severse.js"></script> <script src="./mvc_controller.js"></script> </head> <body ng-controller="MyCtrl"> 请输入姓名:<input type="text" ng-model="name"><br> 输入的内容是:<span>{{name}}</span><br> 请输入密码:<input type="text" ng-model="password"> <button ng-click="btn()">登录</button> <div> <p>{{msg}}</p> </div> </body> </html>
2.定义模块,一般都是用angular.module()方法定义一个模块(controller文件)
page.controller('MyCtrl',["$scope",'MvcService',function ($scope,MvcService) {
$scope.btn=function () {
MvcService.getName().then(function (response) {
console.log("请求成功" + response);
$scope.msg=response;
if (angular.isObject(response)) {
console.log("登陆成功,跳转");
} else {
console.log("登录失败");
}
},
function error(response) {
console.log("请求失败")
});
}
}]);3.我声明一个sercice文件,用来存放service访问url。
/** * Created by Administrator on 2018/1/31. */ var page = angular.module("mvcApp",[]); page.factory('MvcService', ['$http','$q',function($http,$q) { var service = { getName:function () { var defer=$q.defer(); //声明延后执行 $http.get("https://www.easy-mock.com/mock/5a1fa1425bc39d4cf3b75598/example/ui_grid") .success(function(data){ defer.resolve(data); //声明执行成功 }). error(function(){ defer.reject(); //声明执行失败 }); return defer.promise; //返回承诺,返回获取数据的API 4000 } }; return service; } ]);以上就是一个完整的mvc模板的体现。我参考的文章有angularJS学习之mvc模式。
希望大家指正。
相关文章推荐
- 创建一个完整的CCS工程(基于F2812)
- 如何用angularjs制作一个完整的表格之一__创建简单表格
- 为ASP.NET MVC创建一个基于Mini容器的ControllerFactory
- 从头创建一个基于 React, webpack, babel 的模板项目
- 从头创建一个基于 React, webpack, babel 的模板项目
- 为ASP.NET MVC创建一个基于Unity的ControllerFactory
- 【spark】创建一个基于maven的spark项目所需要的pom.xml文件模板
- Ajax处理XML,XMLHttpRequest对象的创建和访问servlet并返回xml数据到页面展示
- MVC 在提交一个表单数据时出现System.Web.HttpRequestValidationException (0x80004005):错误
- oracle授权另外一个用户访问自己创建的数据对象
- 用固定数据创建一个Opencv矩阵并访问其数据元素
- j2eelib(2) —— 一个基于spring的便于数据库访问的MVC设计
- oracle授权另外一个用户访问自己创建的数据对象
- oracle授权另外一个用户访问自己创建的数据对象
- 一个存储和转发http数据接口的样例。基于SP或MM计费或用户注册数据接口。
- oracle授权另外一个用户访问自己创建的数据对象
- 创建一个完整的CCS工程(基于F2812)
- 一个存储和转发http数据接口的样例。基于SP或MM计费或用户注册数据接口。
- 基于购物车更改 完整http请求数据 改变代码--首页与主要代码
- 一个修改http header,用jquery访问异域数据的例程