AngularJs總結(jié)

angularJs在前端開發(fā)過程中是一件重器墅茉,它使得前端代碼編輯簡單凡蜻,數(shù)據(jù)變化方便辣之,尤其是可以讓頁面切換流暢。接下來我將在下面簡單介紹在實(shí)戰(zhàn)項(xiàng)目中如何使用angularJs。
首先培漏,我們得在首頁</body>上面引用它的js文件

<script src=".../plugins/angularJS/angular.js"></script>
<script src=".../plugins/angularJS/angular-ui-router-1.0.3.js"></script>

接下來溪厘,我們再在首頁文件first.html中定義angular項(xiàng)目名稱

<html lang="zh-CN" ng-app="viewApp">

再定義根controller的名稱

<body ng-controller="appCtrl">

此時(shí),我們就能在創(chuàng)建viewApp.js文件來操作整個(gè)頁面了

<script src=".../js/viewApp.js"></script>

在viewApp.js里面我們必須在第一句寫上

var viewApp = angular.module('viewApp', ['ui.router']);

在這一句的下方牌柄,我們就可以定義想要的模塊了,我簡單寫了directive模塊和controller模塊畸悬,一下是示例

//directive模塊
//angular中自定義標(biāo)簽
viewApp.directive('swapbox',function(){
   return {
       restrict: 'A',
       replace: true,
       template:
        '<div class="swapbox">'+
        '<div class="t_news">'+
        '<b><i class="iconfont"></i>最新動(dòng)態(tài):</b>'+
        '<ul class="news_li" style="top: 19px;">'+
        '<li><a href="">【溫馨提示】網(wǎng)站支付教程請點(diǎn)擊這里</a></li><li><a href="">【13163296359】購買了兩套豬哥靚!</a></li><li><a href="">【13163296359】購買了一套3G懷孕母豬智能飼喂器珊佣!</a></li><li><a href="">【最新消息】網(wǎng)站客服24小時(shí)在線L;隆!咒锻!</a></li><li><a href="" >【公司動(dòng)態(tài)】JYGA與中畜開展第一次交流會(huì)冷冗!</a></li></ul>'+
        '<ul class="swap" style="top: -18.7924px;">'+
        '<li><a href="">【溫馨提示】網(wǎng)站支付教程請點(diǎn)擊這里</a></li><li><a href="">【13163296359】購買了兩套豬哥靚!</a></li><li><a href="">【13163296359】購買了一套3G懷孕母豬智能飼喂器惑艇!</a></li><li><a href="">【最新消息】網(wǎng)站客服24小時(shí)在線]镎蕖!滨巴!</a></li><li><a href="" >【公司動(dòng)態(tài)】中畜公司攜手加拿大JYGA公司簽訂戰(zhàn)略合作協(xié)議</a></li></ul>'+
        '</div>'+
        '</div>',
       link: function () {
               angular.element('.swap').html(angular.element('.news_li').html());
               var x = angular.element('.news_li');
               var y = angular.element('.swap');
               var h = angular.element('.news_li li').length * 19;
               setTimeout(b,3000);
               function b(){
                   t = parseInt(x.css('top'));
                   y.css('top', '19px');
                   x.animate({top: t-19 +'px'},'slow');
                   if(Math.abs(t) == h-19 ){
                       y.animate({top:'0px'},'slow');
                       z = x;
                       x = y;
                       y = z;
                   }
                   setTimeout(b,3000);
               };
       }
   }
});
//在angular中正確使用插件的簡單方法
viewApp.directive('fancybox', function () {
    return {
        restrict: 'A',
        controller: function($scope) {
            $scope.openFancybox = function (url) {

             $.fancybox.open({
                 href : url,
                 title : '李明'
             });

            };
        }
    };
});
//controller模塊
viewApp.controller('NewsCtrl', function($scope ,$http) {
    //amazeui的加載進(jìn)度條
    $.AMUI.progress.start();
   //向后臺傳參數(shù)并返回值
    $http.get('.../getNewsList.action').then(
        function(success){
            $scope.news = success.data;
            $.AMUI.progress.done();
        },
        function(){
            alert('獲取新聞列表失斔脊唷!');
        }
    )

});

angularJs還有factory兢卵、service模塊习瑰,這里不介紹绪颖。
接下來劃重點(diǎn)秽荤,angular-ui-router路由,不廢話貼代碼


viewApp.config(
    [          '$locationProvider','$stateProvider', '$urlRouterProvider',
        function ($locationProvider,$stateProvider,   $urlRouterProvider ) {
          //解決地址欄出現(xiàn)!#
            $locationProvider.hashPrefix('');
            $urlRouterProvider
                .otherwise('/');
            $stateProvider
                .state('eliteTeam', {
                    url: '/eliteTeam',
                    templateUrl: 'static/frontPage/eliteTeam.html'
                })
                .state('knowZC', {
                    url: '/knowZC/:ord',
                    controller: 'knowZCCtrl',
                    templateUrl: 'static/frontPage/knowZC.html',
                    resolve : {
                        promiseObj : function($http,$stateParams){
                            return $http({
                                method : 'GET' ,
                                url : "static/frontPage/navigation/content/"+$stateParams.ord
                            });
                        }
                    }
                })
                .state('activitys', {
                    url: '/activitys/:id',
                    templateUrl: 'static/frontPage/activity.html',
                    controller: 'acContentCtrl',
                    resolve : {
                        promiseObj : function($http,$stateParams){
                            return $http({
                                method : 'GET' ,
                                url : "static/frontPage/activitys/content/"+$stateParams.id
                            });
                        }
                    }
                });


        }
    ]
);

angular驗(yàn)證完全不用寫js

<form  name="formBuy" class="am-form" data-am-validator>
                 <legend>{{x.pName}}</legend>
                    <fieldset>
                     
                       <input   type="hidden" name="proName"  ng-model="buy.proName" value="{{x.pName}}"/>
                                                                                                                     
                        <div class="am-form-group">
                            <label for="form-valid-cusUnit">購買單位:</label>
                            
                            <input  placeholder="請輸入您的單位名稱或無" type="text" name="cusUnit" id="form-valid-cusUnit"
                                        ng-class="{'error': formBuy.cusUnit.$invalid && formBuy.cusUnit.$touched}"
                                        ng-model="buy.cusUnit"/>
                        </div>
                        <div class="am-form-group">
                            <label for="form-valid-cusName">您的姓名:</label>
                            
                                <input  placeholder="請輸入您的姓名" type="text" name="cusName" id="form-valid-cusName"
                                        ng-class="{'error': formBuy.cusName.$invalid && formBuy.cusName.$touched}"
                                        required
                                        ng-model="buy.cusName"/>
                                <p class="error"     ng-if="formBuy.cusName.$error.required && formBuy.cusName.$touched">姓名不能為空</p>
                      

                        </div>
                        <div class="am-form-group">
                            <label for="form-valid-cusPhone">聯(lián)系電話:</label>
                           
                                <input  placeholder="請輸入您的聯(lián)系電話" type="number" name="cusPhone" id="form-valid-cusPhone"
                                        ng-class="{'error': formBuy.cusPhone.$invalid && formBuy.cusPhone.$touched}"
                                        required
                                        ng-pattern="/^1[3,4,5,7,8]\d{9}$/"
                                        ng-model="buy.cusPhone"/>
                                <p class="error"     ng-if="formBuy.cusPhone.$error.required && formBuy.cusPhone.$touched">聯(lián)系電話不能為空</p>
                                <p class="error"     ng-if="formBuy.cusPhone.$error.pattern  && formBuy.cusPhone.$touched">電話格式錯(cuò)誤</p>
                         

                        </div>
                        <div class="am-form-group">
                            <label for="form-valid-cusEmail">郵箱地址:</label>
                         
                                <input  placeholder="請輸入您的郵箱地址" type="email" name="cusEmail" id="form-valid-cusEmail"
                                        ng-class="{'error': formBuy.cusEmail.$invalid && formBuy.cusEmail.$touched}"
                                        required
                                        ng-pattern="/^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/"
                                        ng-model="buy.cusEmail"/>
                                <p class="error"     ng-if="formBuy.cusEmail.$error.required && formBuy.cusEmail.$touched">郵箱地址不能為空</p>
                                <p class="error"     ng-if="formBuy.cusEmail.$error.pattern && formBuy.cusEmail.$touched">郵箱地址格式錯(cuò)誤</p>
                        

                        </div>
                        <div class="am-form-group">
                            <label for="form-valid-cusAddress">收貨地址:</label>
                          
                                <input  placeholder="請輸入您的收貨地址" type="text" name="cusAddress" id="form-valid-cusAddress"
                                        ng-class="{'error': formBuy.cusAddress.$invalid && formBuy.cusAddress.$touched}"
                                        required
                                        ng-model="buy.cusAddress"/>
                                <p class="error"     ng-if="formBuy.cusAddress.$error.required && formBuy.cusAddress.$touched">收貨地址不能為空</p>
                           

                        </div>
                        <div class="am-form-group">
                            <label for="form-valid-proName">產(chǎn)品套數(shù):</label>
                           
                                <input  placeholder="請輸入您需要購買的產(chǎn)品套數(shù)" type="number" name="proNum" id="form-valid-proName"
                                        ng-class="{'error': formBuy.proNum.$invalid && formBuy.proNum.$touched}"
                                        required
                                        ng-model="buy.proNum"/>
                                <p class="error"     ng-if="formBuy.proNum.$error.required && formBuy.proNum.$touched">套數(shù)不能為空</p>
                        
                        </div>
                        <div class="am-form-group">
                            <label for="form-valid-cusNote">備注信息:</label>
                           
                                <textarea  rows="5" ng-model="buy.cusNote" id="form-valid-cusNote"></textarea>
                        </div>
                    </fieldset>
                    <div class="am-u-lg-4 am-u-lg-centered am-margin-bottom">
                        <input type="submit" class="btn btn-primary"
                               value="確定"
                               ng-disabled="formBuy.$invalid"
                               ng-click="CusBuyProSubmit();"
                        />
                    </div>
                </form>

前端頁面動(dòng)態(tài)數(shù)據(jù)加載,十分方便

<div class="am-u-sm-12 am-u-md-4 am-u-lg-3" ng-repeat="x in recruits | limitTo : 4">
                <div class="am-panel am-panel-primary">
                    <div class="am-panel-hd">{{x.rPosition}}</div>
                    <a href="#doc-oc-demo{{x.id}}{{x.id}}" data-am-offcanvas>
                        <div class="am-panel-bd"><pre style="color: #2aabd2">{{x.rContent}}</pre></div>
                    </a>

      </div>
 </div>

以上是非常簡單的angular總結(jié)柠横,用了實(shí)戰(zhàn)中的代碼窃款,若有疑問和建議,請下方留言牍氛。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末晨继,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子搬俊,更是在濱河造成了極大的恐慌紊扬,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件唉擂,死亡現(xiàn)場離奇詭異餐屎,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)玩祟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進(jìn)店門腹缩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事藏鹊∪蠹ィ” “怎么了?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵盘寡,是天一觀的道長楚殿。 經(jīng)常有香客問我,道長竿痰,這世上最難降的妖魔是什么勒魔? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮菇曲,結(jié)果婚禮上冠绢,老公的妹妹穿的比我還像新娘。我一直安慰自己常潮,他們只是感情好弟胀,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著喊式,像睡著了一般孵户。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上岔留,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天夏哭,我揣著相機(jī)與錄音,去河邊找鬼献联。 笑死竖配,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的里逆。 我是一名探鬼主播进胯,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼原押!你這毒婦竟也來了胁镐?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤诸衔,失蹤者是張志新(化名)和其女友劉穎盯漂,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體笨农,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡就缆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了磁餐。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片违崇。...
    茶點(diǎn)故事閱讀 40,561評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡阿弃,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出羞延,到底是詐尸還是另有隱情渣淳,我是刑警寧澤,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布伴箩,位于F島的核電站入愧,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏嗤谚。R本人自食惡果不足惜棺蛛,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望巩步。 院中可真熱鬧旁赊,春花似錦、人聲如沸椅野。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽竟闪。三九已至离福,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間炼蛤,已是汗流浹背妖爷。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留理朋,地道東北人絮识。 一個(gè)月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像暗挑,于是被迫代替她去往敵國和親笋除。 傳聞我的和親對象是個(gè)殘疾皇子斜友,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,573評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 一炸裆、angular介紹 1、angular是Google公司提供的一套基于MVC結(jié)構(gòu)的js開發(fā)工具鲜屏,其核心功能就是...
    滴滴傲閱讀 532評論 0 0
  • 通過AngularJS仿豆瓣一刻的案例:https://github.com/zhongxiaolian/doub...
    中小戀閱讀 1,760評論 1 21
  • AngularJS是什么烹看?AngularJs(后面就簡稱ng了)是一個(gè)用于設(shè)計(jì)動(dòng)態(tài)web應(yīng)用的結(jié)構(gòu)框架。首先洛史,它是...
    200813閱讀 1,611評論 0 3
  • 官方網(wǎng)站 angular是什么:為動(dòng)態(tài)web應(yīng)用設(shè)計(jì)的結(jié)構(gòu)框架惯殊; 核心的功能: 1,雙向數(shù)據(jù)綁定:實(shí)現(xiàn)了model...
    源大俠閱讀 388評論 0 0
  • 一本好書也殖,就像一棟好房子土思,每個(gè)部分都要很有秩序地排列起來务热。每個(gè)重要部分都要有一定的獨(dú)立性。就像我們看到的己儒,每個(gè)單一...
    小獅子在路上閱讀 154評論 0 0