首頁 >web前端 >js教程 >AngularJS如何學習? angularjs的學習教學讓你不迷路

AngularJS如何學習? angularjs的學習教學讓你不迷路

寻∝梦
寻∝梦原創
2018-09-08 11:36:001208瀏覽

本篇文章主要的講述了關於angularjs的語法介紹,還有angularjs的作用域解釋,還有angularjs控制器、服務的解釋,接下來就讓我們一起來看這篇文章吧

記錄不太熟悉的angularjs語法

    • 濾鏡

    • 自訂篩選器

    • AngularJS 服務(Service)

    • AngularJS XMLHttpRequest

    • ## AngularJS Select(選擇框)
    • $location
    • #$http 服務
    • ##$timeout 服務
    • 建立自訂服務

AngularJS Scope(作用域)

AngularJS 控制器

AngularJS 篩選器

#AngularJS Scope(作用域)

# $rootScope

$rootScope : 根作用域,所有 controller 都可以调用,类似于项目级别的全局变量
js赋值 : $rootScope.lastname = "Refsnes";
html调用 : $root.lastname

$scope 作用域

之间无法互相访问
Scope(作用域) 是应用在 HTML (视图) 和 JavaScript (控制器)之间的纽带。
Scope 是一个对象,有可用的方法和属性。
Scope 可应用在视图和控制器上

AngularJS 控制器

 控制 AngularJS 应用程序的数据。 AngularJS 控制器是常规的 JavaScript 对象。

ng-controller 
ng-controller 指令定义了应用程序控制器

ng-controller="myCtrl" 属性是一个 AngularJS 指令。用于定义一个控制器。 myCtrl 函数是一个 JavaScript 函数。

JS引用<script src="personController.js"></script>  多个controller 
js文件中 定义一个app    
之后可以定义多个controller   
HTML中也可以对应多个controller

多個controller控制器

var app = angular.module(&#39;myApp&#39;, []);
app.controller(&#39;myCtrl1&#39;, function($scope) {
    $scope.firstName = "Johns";    $scope.lastName = "Doef";
});
    app.controller(&#39;myCtrl2&#39;, function($scope) {
    $scope.firstName = "Tom";    $scope.lastName = "kkk";
});

AngularJS 過濾器

過濾器

過濾器可以使用一個管道字元(|)加入到表達式和指令中。

AngularJS 過濾器可用來轉換資料

currency  格式化數字為貨幣格式

filter  從陣列項目中選擇子集。

lowercase  格式化字串為小寫。

orderBy  根據某個表達式排列數組

uppercase  格式化字串為大寫

過濾輸入

輸入過濾器可以透過一個管道字元( |)和一個過濾器加入指令中,該過濾器後面跟著一個冒號和一個模型名稱。

<p><input type="text" ng-model="test"></p><ul>
  <li ng-repeat="x in names | filter:test | orderBy:&#39;country&#39;">
    {{ (x.name | uppercase) + &#39;, &#39; + x.country }}
  </li></ul>
自訂過濾器


以下實例自訂一個過濾器reverse,將字串反轉

<!DOCTYPE html><html><meta charset="utf-8"><script src="https://cdn.bootcss.com/angular.js/1.4.6/angular.min.js"></script> <body> <p ng-app="myApp" ng-controller="myCtrl">姓名: {{ msg | reverse }}</p><script>var app = angular.module(&#39;myApp&#39;, []);
app.controller(&#39;myCtrl&#39;, function($scope) {
    $scope.msg = "Runoob";
});
app.filter(&#39;reverse&#39;, function() { //可以注入依赖
    return function(text) {
        return text.split("").reverse().join("");
    } 
});</script>  </body></html>

uppercase,lowercase 大小寫轉換(想看更多就到PHP中文網

AngularJS開發手冊

中學習)AngularJS 服務(Service)

AngularJS 中你可以創造自己的服務,或使用內建服務。

在 AngularJS 中,服務是一個函數或對象,可在你的 AngularJS 應用中使用。


$location

#location.absUrl(); 內建service,取得目前頁面的url位址

$http 服務

$http 是AngularJS 應用程式中最常用的服務。服務向伺服器發送請求,應用回應伺服器傳送過來的資料。


$timeout 服務



#interval 服務對應了 JS window.setInterval 函式。

interval 可用於設定始終執行的延時服務。 建立自訂服務

要使用自訂服務,需要在定義控制器的時候獨立添加,設定依賴關係:
當你建立了自訂服務,並連接到你的應用程式後,你可以在控制器,指令,過濾器或其他服務中使用它。

<!DOCTYPE html><html><head><meta charset="utf-8"><script src="https://cdn.bootcss.com/angular.js/1.4.6/angular.min.js"></script></head><body><p ng-app="myApp" ng-controller="myCtrl"><p>255 的16进制是:</p><h1>{{hex}}</h1></p><p>自定义服务,用于转换16进制数:</p><script>var app = angular.module(&#39;myApp&#39;, []);

app.service(&#39;hexafy&#39;, function() {
    this.myFunc = function (x) {
        return x.toString(16);
    }
});
app.controller(&#39;myCtrl&#39;, function($scope, hexafy) {
  $scope.hex = hexafy.myFunc(255);
});</script></body></html>

AngularJS XMLHttpRequest


http.get

-http.post 

-http.delete -http.patch

簡單get/post請求

// 简单的 GET 请求,可以改为 POST$http({
    method: &#39;GET&#39;,
    url: &#39;/someUrl&#39;}).then(function successCallback(response) {
        // 请求成功执行代码
    }, function errorCallback(response) {
        // 请求失败执行代码});$http.get(&#39;/someUrl&#39;, config).then(successCallback, errorCallback);$http.post(&#39;/someUrl&#39;, data, config).then(successCallback, errorCallback);
AngularJS Select(選擇框)

# ##AngularJS 可以使用陣列或物件建立一個下拉式清單選項。 ######ng-option 指令來建立一個下拉列表,列表項目透過物件和數組循環輸出###$scope.names = [「Google」, “Runoob”, “Taobao”]; #### ##設定下拉框初始值#########
scope.cars.car02;  //设置第2个为初始值;
###這篇文章到這就結束了(想看更多就到PHP中文網###AngularJS使用手冊###中學習) ,有問題的可以在下方留言提問。 ###

以上是AngularJS如何學習? angularjs的學習教學讓你不迷路的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn