AngularJS怎么搭建简单的项目?angularjs的功能实现(附完整实例)
本篇文章主要的讲述了关于angularjs的搭建入门的项目。有兴趣的同学可以进来看看,实验很多代码大家可以试试看的。
angularjs简介
AngularJS 是一个 JavaScript 框架。AngularJS 通过 指令 扩展了 HTML.且通过 表达式 实现页面与js数据的双向绑定。主体采用开发人员非常熟识的MVC(model、view、controller)模式,采用路由(route)模式实现单页面跳转(Ps:AngularJS 模块的 config 函数用于配置路由规则)。AngularJS有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。
详情请查阅:PHP中文网AngularJS开发手册。
PS:如有使用eclipse的开发人员可:
项目主体图示
项目搭建
index.html
<!doctype html><!--html 元素是 AngularJS 应用: ng-app="myApp" 的容器 --><html ng-app="myApp"><head> <!-- 所有资源脚本引用需在index页面,如果在子页面引用将失效 1、一次性全在html加载 2、用oclazyload插件 3、自己使用angular的$q 写一个加载文件的服务 --> <script src="js/lib/angular.min.js"></script> <script src="js/lib/angular-route.js"></script> <script src="js/utils/url.js"></script> <script src="js/utils/selfmd5.js"></script> <script src="js/utils/toast.js"></script> <script type="text/javascript" src="js/lib/jquery.min.js"></script> <script src="js/controller/indexController.js"></script> <script src="js/controller/homeController.js"></script> <script src="js/service/HttpService.js"></script></head><!--body是 HTML 页面中控制器: ng-controller="indexController" 的作用域--><body ng-controller="indexController"><p> <label>Name:</label> <input type="text" ng-model="yourName" placeholder="Enter a name here"> <hr> <!--数据绑定--> <h1>Hello {{yourName}}!</h1> <!--p 是 HTML 页面中视图: ng-view 的作用域子页面注入区(PS:本人理解)--> <p ng-view> </p></p></body></html>
indexController.js
/** * Created by Administrator on 2017/12/1. */ //应用程序声明以及将controller、service等放入容器中(PS:类似于SpringMvc的IOC容器)var myApp = angular.module('myApp',["ngRoute",'homeController','httpService']);//控制器声明myApp.controller('indexController', ['$scope',function($scope) { //数据绑定 $scope.yourName= 'Hola!'; //ng-view监听 $scope.$on("$viewContentLoaded",function(){ console.log("ng-view content loaded!"); }); $scope.$on("$routeChangeStart",function(event,next,current){ //event.preventDefault(); //cancel url change console.log("route change start!"); }); }]);//模块的 config 函数用于配置路由规则myApp.config(function($routeProvider, $locationProvider) { $routeProvider .when('/home', { templateUrl: 'content/homepage.html', //如果路由对页面指明了controller,页面无需使用ng-controller="homeController"声明,否则将会 //出现homeController多次调用 controller: 'homeController' }) .otherwise({ redirectTo: '/home' }); });
homepage.html(实现简单的登陆功能)
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title>SingleCase</title></head><body ><!--数据绑定--> <input ng-model="user.account"/> <!-- <input ng-model="user.password"/>--> <input ng-model="user.pwd"/> <!--事件绑定--><input type="button" ng-click="login()"><!--列表遍历--><ul ng-repeat="menu in menus"> <li ng-click="menu_2Show(menu.lid)" >{{menu.name}} <ul ng-repeat="menu_list in menu.menu_list" style="display: none" id="menu_2{{menu.lid}}"> <li ng-click="menu_2Click(menu_list.name)"> {{menu_list.name}}</li> </ul> </li></ul></body></html>
homeController.js(实现简单的登陆功能)
/** * Created by Administrator on 2017/12/1. */angular.module("homeController",["ngRoute"]) <!--注入service等工具--> .controller("homeController",function($scope,$route,httpService,$location){ <!--声明modle进行数据绑定--> $scope.user={account:'',password:'',pwd:''}; <!--对密码进行MD5加密--> $scope.user.password = hex_md5($scope.user.pwd); <!--登陆方法--> $scope.login=function(){ <!--调用封装的post请求--> httpService.postReq( $scope.user,'/loginbusiness/login','用户登陆!').then(function(data){ if(data.code>0){ //controller中进行路由跳转 $location.path("/home"); }else{ //Android效果toast alerToast(data.code+':'+data.msg,2000); } }); }; $scope.role={role:0}; $scope.menus=null; httpService.postReq( $scope.role,'','用户登陆!').then(function(data){ $scope.menus=data.data; }); $scope.menu_2Click=function(name){ alerToast(name,2000); } $scope.menu_2Show=function(lid){ $('#menu_2'+lid).show(); } });
HttpService.js(网络请求封装service)
/** * Created by Administrator on 2017/9/28. */angular.module("httpService",[])//请求头设置 PS:可写 拦截器 全局$http注入loading效果 .config(["$httpProvider", function ($httpProvider) { //更改 Content-Type $httpProvider.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded;charset=utf-8"; $httpProvider.defaults.headers.post["Accept"] = "*/*"; $httpProvider.defaults.transformRequest = function (data) { //把JSON数据转换成字符串形式 if (data !== undefined) { return $.param(data); } return data; }; }]) .service('httpService', function( $http,$q) { //生成deferred异步对象 var deferred=$q.defer(); this.postReq = function(reqdata,api,msg) { console.log(msg+":start!"); $http({ method: "POST", url: lh_business_url+api, headers: { 'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8' }, data:reqdata }).success(function(data, status) { console.log(data); //执行到这里时,改变deferred状态为执行成功,返回data为从后台取到的数据,可以继续执行then,done deferred.resolve( data); }). error(function(data, status) { alert('连接服务器出错!'); //执行到这里时,改变deferred状态为执行失败,返回data为报错,可以继续执行fail // deferred.reject('连接服务器出错!'); }); console.log(msg+":end!"); //起到保护作用,不允许函数外部改变函数内的deferred状态 return deferred.promise; }; this.getReq = function(data,api,msg) { console.log(msg+":start!"); $http.get(lh_business_url+api, { params:data }).success(function (data) { console.log(data); // 如果连接成功,延时返回给调用者 deferred.resolve(data); }) .error(function () { alert('连接服务器出错!'); // deferred.reject('连接服务器出错!'); }); console.log(msg+":end!"); return deferred.promise; }; });
本篇文章到这就结束了(想看更多就到PHP中文网AngularJS使用手册中学习),有问题的可以在下方留言提问。
以上是AngularJS怎么搭建简单的项目?angularjs的功能实现(附完整实例)的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Javascript 是一个非常有个性的语言. 无论是从代码的组织, 还是代码的编程范式, 还是面向对象理论都独具一格. 而很早就在争论的Javascript 是不是面向对象语言这个问题, 显然已有答案. 但是, 即使 Javascript 叱咤风云二十年, 如果想要看懂 jQuery, Angularjs, 甚至是 React 等流行框架, 观看《黑马云课堂JavaScript 高级框架设计视频教程》就对了。

在如今信息时代,网站已经成为人们获取信息和交流的重要工具。一个响应式的网站能够适应各种设备,为用户提供优质的体验,成为了现代网站开发的热点。本篇文章将介绍如何使用PHP和AngularJS搭建一个响应式网站,从而提供优质的用户体验。PHP介绍PHP是一种开源的服务器端编程语言,非常适用于Web开发。PHP具有很多优点,如易于学习、跨平台、丰富的工具库、开发效

随着互联网的不断发展,Web应用已成为企业信息化建设的重要组成部分,也是现代化工作的必要手段。为了使Web应用能够便于开发、维护和扩展,开发人员需要选择适合自己开发需求的技术框架和编程语言。PHP和AngularJS是两种非常流行的Web开发技术,它们分别是服务器端和客户端的解决方案,通过结合使用可以大大提高Web应用的开发效率和使用体验。PHP的优势PHP

随着互联网的普及和发展,前端开发已变得越来越重要。作为前端开发人员,我们需要了解并掌握各种开发工具和技术。其中,PHP和AngularJS是两种非常有用和流行的工具。在本文中,我们将介绍如何使用这两种工具进行前端开发。一、PHP介绍PHP是一种流行的开源服务器端脚本语言,它适用于Web开发,可以在Web服务器和各种操作系统上运行。PHP的优点是简单、快速、便

随着互联网的普及,越来越多的人在使用网络进行文件传输和共享。然而,由于各种原因,使用传统的FTP等方式进行文件管理无法满足现代用户的需求。因此,建立一个易用、高效、安全的在线文件管理平台已成为了一种趋势。本文介绍的在线文件管理平台,基于PHP和AngularJS,能够方便地进行文件上传、下载、编辑、删除等操作,并且提供了一系列强大的功能,例如文件共享、搜索、

随着Web应用程序的普及,前端框架AngularJS变得越来越受欢迎。AngularJS是一个由Google开发的JavaScript框架,它可以帮助你构建具有动态Web应用程序功能的Web应用程序。另一方面,对于后端编程,PHP是非常受欢迎的编程语言。如果您正在使用PHP进行服务器端编程,那么结合AngularJS使用PHP将可以为您的网站带来更多的动态效

随着Web技术的飞速发展,单页Web应用程序(SinglePageApplication,SPA)已经成为一种越来越流行的Web应用程序模型。相比于传统的多页Web应用程序,SPA的最大优势在于用户感受更加流畅,同时服务器端的计算压力也大幅减少。在本文中,我们将介绍如何使用Flask和AngularJS构建一个简单的SPA。Flask是一款轻量级的Py

这篇文章介绍的内容是关于AngularJS基础入门介绍,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下。
