成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

關于angularjs的加載方式

                   一、      關于angularjs的加載方式:

創(chuàng)新互聯(lián)一直秉承“誠信做人,踏實做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務為基礎,以質量求生存,以技術求發(fā)展,成交一個客戶多一個朋友!為您提供成都網(wǎng)站設計、成都網(wǎng)站制作、成都網(wǎng)頁設計、小程序制作、成都網(wǎng)站開發(fā)、成都網(wǎng)站制作、成都軟件開發(fā)、app開發(fā)定制是成都本地專業(yè)的網(wǎng)站建設和網(wǎng)站設計公司,等你一起來見證!

啟動方式:

一個angular應用運行起來的“入口”,有兩方式:

1)在元素上添加ng-app指令(暫時無需關心什么意思);ng-app可以有屬性值(ng-app="app"),這樣   的話就需要咱們去寫一個名為app的module了,后續(xù)詳解。

---- 暫時不推薦使用這種方式啟動angular

2) 不去指定ng-app,通過JS代碼執(zhí)行:angular.bootstrap(element, ['模塊名'...]),一樣也是可以   啟動的

----推薦使用這種方式來啟動angular.

二:Bootstrap:Angular的初始化

    1:Angular自動化初始如下

利用ngapp標示你需要自動引導應用程序的根節(jié)點,一般典型為html tag。在DOMContentLoaded事件觸發(fā)Angular會自動尋找ngapp作為應用的根節(jié)點,如果找到則會進行如下操作:

  1. 加載module(模塊)相關directive(指令)。

  2. 創(chuàng)建應用程序injector(Angular的注入機制).

  3. 編譯處理ng-app作為根節(jié)點的指令。這里允許你自定義選擇DOM節(jié)點作為應用根節(jié)點。

    2:手動初始化

如果想對對初始化有更多的控制權,可以采用自定義手動引導方法初始化代替angular的自動初始化。比如你需要在angular編譯模板之前做一些事情,比如改變模板某些內容。手動引導方式將會如下:

<!doctypehtml>

 <htmlxmlns:ng="http://angularjs.org">

 <body>

 Hello {{'World'}}!

 <scriptsrc="http://code.angularjs.org/angular.js"></script>

 <script>

   angular.element(document).ready(function() {

 angular.bootstrap(document);

});

</script>

</body>

</html>

 

  • 如何使用angular來開發(fā)程序

  • 首先在對應的頁面引入:angular-1.2.0.min.js

  • 接著引入sea.js(SeaJS是一個遵循CommonJS規(guī)范的JavaScript模塊加載框架,可以實現(xiàn)JavaScript的模塊化開發(fā)及加載機制,如requre和define指令都是seajs中的);

  • 例子如下:

首頁:index.html文件

<!DOCTYPE html>

<html>

<head>

<meta content="text/html;charset=utf-8">

<title>Insert title here</title>

<script type="text/javascript"src="angular-pa-1.2.0.min.js"></script>

<script type="text/javascript"src="sea.js"></script>

</head>

<body>

 <div ng-controller="HelloController">

    <input ng-model="greeting.text">

    <p>`greeting`.`text`,World</p>

    

   <table ng-show="greeting.aaa">

     <tr ng-repeat="item in items">

       <td ng-click="apply()">{{$index+1}}</td>

       <td ng-click="goEoa()">`item`.`name`</td>

       <td>`item`.`age`</td>     

     </tr>

   </table>

 </div>

   <!—有了define等模塊定義規(guī)范的實現(xiàn),我們可以開發(fā)出很多模塊.但光有一堆模塊不管用,我們還得讓它們能跑起來,使用seajs.use-->

  <!—seajs.use用來在頁面中加載模塊,通過use方法可以在頁面中加載任意模塊-->

 <script data-language="javascript">

    seajs.use('./controllers');

 </script>

</body>

</html>

 

Controllers.js文件

//使用define來定義模塊

define(function(require,exports){

  var myAppModel =angular.module('myAppModel',[]);

   //將對應的服務引入進來,并使用define將其定義到'myAppModel'model上。

   require('backwardEoaPageService').define(myAppModel);

require('./backwardEoaPageDirective.js').extend(myAppModel);

   myAppModel.controller('HelloController',function($scope,

backwardEoaPageService){

      $scope.greeting={

            text:'Hello',

            youCheckedit:true,

            aaa:true

      };

      $scope.items=[{name:'張三1',age:'1'},

{name:'張三2',age:'2'},

{name:'張三3',age:'3'},

                     {name:'張三4',age:'4'},

{name:'張三5',age:'5'},

{name:'張三6',age:'6'}];

      $scope.apply=function(){

         backwardEoaPageService.apply();

      };

      $scope.goEoa=function(){

         backwardEoaPageService.goEoa();

      };

     

   });

   //備注:使用angular.bootstrap將model:myAppModel加載到document,就不用在html頁面上使用ng-app了

   angular.bootstrap(document,['myAppModel']);

});

 

backwardEoaPageService.js文件;

define(function(require, exports){

         //exports對外公布一個入口

         exports.define= function(md) {

                   md.factory('backwardEoaPageService',['$http',function($http){

                            varservice = {

                                     apply: function(backwardCancelPlyDTO,handle){

                                       var url ='servlets/servlet/HelloWorldExample';

                $http({method:'POST',url:

url,data:backwardCancelPlyDTO})

.success(function(data, status,

headers){

                                           handle(data);

                                });

                                     },

                                     goEoa: function(backwardCancelPlyDTO,handle){

                                               alert("goEoa");

                                     }

                            };

                            returnservice;

                   }]);

         };

});

backwardEoaPageDirective.js指令文件

define(function(require, exports){

   exports.extend=function(md){  

//下面指令的定義中,對應的紅色參數(shù)要一一對應,否則無法注入對象;

//或者前面可以不要,直接寫function中的參數(shù)即可

   md.directive('backwardEoaPage',

['$http','backwardEoaPageService',function($http,backwardEoaPageService){

        return {

            restrict:'A',

            templateUrl:'./backwardEoaPage.html',

            scope: {

                isShow:'='//這是指令對外暴露的接口,=表示是值傳遞

            },

            link:function(scope, element,attrs){

                scope.model = {

                        applyReason :null

                };

                scope.upload =function(){

                  varbackwardCancelPlyDTO={message:"aaaa"};

                   backwardEoaPageService.apply(backwardCancelPlyDTO,function(data){

                      alert(data.message);

                   });

                }

            }

         };

      }]);

   };

});

 

 

  • angularjs的post請求,springmvc解析不了

.)在angularJS中與遠程HTTP

. method  {String} 請求方式e.g."GET"."POST"

  . params {key,value} 請求參數(shù),將在URL上被拼接成?key=value

. data {key,value} 數(shù)據(jù),將被放入請求內發(fā)送至服務器

 參考文檔:http://www.cnblogs.com/sytsyt/p/3297872.html

 

$http({method:'POST', url: url,data:backwardCancelPlyDTO})  

.success(function(data, status, headers){

handle(data);}

);

對于這樣的請求,springmvc的controller如何處理;

a)在對應的入?yún)ean前面添加@RequestBody注解---因為angularjs post參數(shù)值放到請求Body中了,而且入?yún)⑹菍膉son數(shù)據(jù),需要進行處理,才能封裝到Bean中;

@Controller

publicclassTestController {

 @RequestMapping("/test/login.do")

 publicvoidtestLogin(@RequestBody User user, HttpServletResponse response) {

        response.setContentType("application/json;charset=utf-8");

        PrintWriter out = response.getWriter();

       if("admin".equals(user.getUserName())&&"admin".equals(user.getPassWord())){

            out.write("{\"message\":\"登陸成功\"}");

        }else {

            out.write("{\"message\":\"登陸失敗\"}");

        }

   }

}

 

1、必須是POST方式 
2、前臺需要設置'contentType' 
3、前臺JSON對象要轉成字符串,如JSON.stringify(JsonObject), 
4、后臺參數(shù)得用@RequestBody注解 
5、如果你是異步處理返回的JSON值(比如Map等)則@ResponseBody是需要的 
6、這個時候,你的JsonObject就會自動轉為queryVO這個Bean 

備注:如果使用jquery的ajax進行請求,后臺就不需要使用@RequestBody注解進行處理了;---這就是angular與jquery的不同;

 

b)還有就是

angularjs中的post請求參數(shù)必須使用data進行傳遞;不能使用params(供get專用的)

$http({method:'POST', url: url, data:backwardCancelPlyDTO})

$http({method:'GET', url: url,params:backwardCancelPlyDTO})

 

 

 

 

下面的配置是對方法的json數(shù)據(jù)進行處理;

<beanid="mappingJacksonHttpMessageConverter"

class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"/>

<beanclass="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">

                   <propertyname="messageConverters"> 

           <list> 

                <reflocal="mappingJacksonHttpMessageConverter"/> 

           </list> 

              </property> 

         </bean>

上面配置需要的jar包在下面下載:

http://jarfiles.pandaidea.com/jackson.all.html

請下載jackson-all-1.8.3.jar,因為1.9.0有問題;

 

org.springframework.http.converter.json.MappingJacksonHttpMessageConverter

2)方法的返回值使用如下的注解這樣就可以了;

@ResponseBody

@RequestMapping("/test/login.do")

 public User testLogin(@RequestBody User user,HttpServletResponse res, HttpServletRequest req) {

分享題目:關于angularjs的加載方式
網(wǎng)站URL:http://jinyejixie.com/article6/gdpsog.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供面包屑導航、網(wǎng)站設計公司、電子商務、企業(yè)網(wǎng)站制作、網(wǎng)站排名、動態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設
永善县| 襄垣县| 从江县| 时尚| 霍林郭勒市| 郁南县| 成安县| 加查县| 孟州市| 霍林郭勒市| 北宁市| 蓝田县| 慈溪市| 郴州市| 西盟| 湖口县| 达日县| 鄂托克旗| 福海县| 双辽市| 吉安县| 宝丰县| 犍为县| 天水市| 东乌珠穆沁旗| 大姚县| 石泉县| 海原县| 岐山县| 噶尔县| 新丰县| 宣恩县| 宜丰县| 满洲里市| 连江县| 元氏县| 伊宁县| 新郑市| 盘锦市| 临澧县| 新干县|