Heim Web-Frontend js-Tutorial Wie verwende ich es in AngularJS?

Wie verwende ich es in AngularJS?

Jun 23, 2018 pm 04:38 PM
angularjs 用法

In diesem Artikel werden hauptsächlich einige relevante Informationen zur Verwendung von AngularJS vorgestellt. Freunde, die es benötigen, können darauf verweisen

AngularJS

Ereignisbefehl:

ng-click/dblclick
ng-mousedown/up
ng-mouseenter/leave
ng-mousemove/over/out
ng-keydown/up/press
ng-focus/blur
ng-submit
Nach dem Login kopieren

Wie ng-click, beide binden Ereignisse an den Dom

Es ist zu beachten, dass das Ereignisobjekt manchmal verwendet wird , Sie müssen $event in Anweisungen wie ng-click übergeben, z. B.:

<button ng-click="clickFn($event)" class="btn btn-danger">aa</button>
Nach dem Login kopieren

Formularbefehl

ng-change
Nach dem Login kopieren

Wenn der Wert Änderungen Es ist nützlich, wenn

Es gibt einige Tags mit Wert, die mit ng-model verwendet werden können

Muss mit ng-model verwendet werden

Kann Datenüberprüfung durchführen

ng-disabled 控制元素是否可用
ng-readonly
ng-checked
Nach dem Login kopieren

Kontrollieren Sie, ob das Kontrollkästchen aktiviert ist

Nur ​​durch die Einstellung kann nur gesteuert werden, ob es über Daten ausgewählt wird

Festlegen – Das Modell kann Daten darüber steuern

Der Unterschied zwischen deaktiviert und schreibgeschützt

Formularelemente können durch Festlegen der Option „deaktiviert“ oder „deaktiviert“ deaktiviert werden schreibgeschützte Attribute: Nach dem Festlegen von „disabled“ kann der Benutzer es nicht verwenden und das Formular sendet das schreibgeschützte Feld nicht.

wird vom Benutzer nur deaktiviert, d. h. der Benutzer kann es nicht bedienen, das Formular jedoch noch eingereicht werden

Kleiner Fall eines Countdown-Rush-Kaufs

Der $interval-Dienst entspricht setInterval, das schmutzige Daten automatisch überprüfen kann

Um es zu löschen, müssen Sie einen Wert zuweisen und dann wird $interval.cancel (Timer)

ng-show als wahr angezeigt. false hide

ng-hide ist wahr, um sich zu verstecken. falsche Anzeige

ng-if ist dasselbe wie ng-show, außer dass, wenn es nicht angezeigt wird, der Knoten nicht im Dom-Dokument ist

var app = angular.module("myapp",[])
app.controller("myController",function ($scope,$interval) {
$scope.num=1
$scope.canBuy = false
$scope.time = 5
  var timer = $interval(function () {
   $scope.time--;
   if($scope.time<=0){
    $scope.canBuy=true
    $interval.cancel(timer)     
   }
  },1000)
 })
Nach dem Login kopieren

ng- bindungsbezogen

Es gibt ein Problem mit ng-bind. Nach dem Hinzufügen können Sie keine anderen Dinge nach der Datenvariablen hinzufügen. Dieses Tag kann nur dieses Datenelement anzeigen, andere jedoch nicht . Zum Beispiel:

rrree

Das Tag

kann nicht geparst werden. Es ist in Ordnung Funktioniert nicht. Das wird sich nach 1.3 ändern. Um angle.js zu optimieren, mussten wir ein Plug-in (Modul) verwenden Wir mussten „ngSanitize“

in angle.module einfügen. Dann müssen Sie die anzuzeigende Beschriftung an eine Variable hängen und sie dann auf ng-bind-html

{{name}}---111
用ng-bind-template就好
ng-bind-template="{{name}}---111"
Nach dem Login kopieren

setzen. Diese Anweisung kann dazu führen, dass der Ausdruck nicht analysiert wird

ng-bind-html="<h1>{{name}}---111</h1>"
Nach dem Login kopieren

ng -include

kann einen HTML-Codeausschnitt einführen, für den auch Variablen definiert werden müssen . Ausdrücke können auch in das Code-Snippet geschrieben werden

$scope.text= "<h1>"+$scope.name+"---111</h1>"
ng-bind-html=&#39;&#39;text“
ng-non-bindable
Nach dem Login kopieren
Hinweis, da es sich tatsächlich um Ajax handelt, muss es sich also in einer Serverumgebung befinden

<h3 ng-non-bindable>{{name}}</h3>
Nach dem Login kopieren

Die gebundenen Daten funktionieren weiterhin intern und die Leistung ist nicht gut. Sie können es so konfigurieren und die in der Ansicht angezeigten Daten zu einem bestimmten Zeitpunkt aktualisieren

$scope.text=&#39;html/a.html&#39;;
ng-include=&#39;text&#39;
Nach dem Login kopieren

Sie können objektorientiertes Denken verwenden, um Controller zu schreiben

ng-model-options=&#39;{updateOn:&#39;blur&#39;}&#39;
Nach dem Login kopieren

Lassen Sie uns über Dienste sprechen, es wurde eigentlich schon viel gesagt. In angleJS werden Dienste verwendet, um über bestimmte Funktionen mit Daten zu interagieren

$http-Dienst

ng-controller
Nach dem Login kopieren

Methode stellt die Liefermethode Get, Post darURL-Datenschnittstelle

params Die übermittelten Daten entsprechen $.ajax-Daten: {}

Erfolg Erfolg RückrufFehler Fehler RückrufHier werden wir über die JSONP-Technologie sprechen

JSONP ist ein Cross- Grenzlösung Eine häufige Art von Domänenproblemen

Domänenübergreifende Probleme: Da Browser eine Same-Origin-Richtlinie haben, treten domänenübergreifende Probleme auf, wenn Daten zwischen verschiedenen Domänen ausgetauscht werden

Origin-Richtlinie: Dateninteraktion kann nur unter demselben Protokoll, demselben Domänennamen und demselben Port erfolgen. Prinzip von JSONP: Sie können das src-Attribut des Skript-Tags verwenden (das eine Rückruffunktion verwendet). um Daten zu empfangen) Nicht von der gleichen Ursprungsrichtlinie betroffen, können Sie Daten von verschiedenen Domänen anfordern und Daten empfangen, indem Sie die Rückruffunktion

Nummer

< festlegen 🎜>JSONP ist eine domänenübergreifende Methode zur Kombination von Front-End und Back-End: Da das Front-End Daten anfordert und diese in der Callback-Funktion verwenden muss, muss das Back-End die Daten wieder in die Callback-Funktion einfügen

Gehört JSONP zu AJAX? Ajax bezieht sich auf die Technologie der asynchronen Dateninteraktion, die über das Attribut „scriptsrc“ abgerufen wird.

Was sind die Nachteile von JSONP? zu, wenn man es benutzt? kann keine domänenübergreifende Verarbeitung veröffentlichen. Es ist zu beachten, dass Skript-Tags und Rückruffunktionen für jede Anfrage dynamisch erstellt und nach Abschluss der Datenerfassung gelöscht werden sollten.

Wenn die Methode JSONP ist, können Sie JSONP für domänenübergreifende Anforderungen verwenden. Achten Sie jedoch darauf, den Rückrufwert nach der URL als JSON_CALLBACK zu schreiben.

Baidu-Suche klein Beispiel

Die Referenz hier ist angle-sanitize.js

<p ng-controller="myController as myFun"> 
{{name}}<br>
{{myFun.age}}<br>
{{myFun.sex}}
</p>
myapp.controller("myController",["$scope",myFun])
function myFun($scope){
 $scope.name=&#39;allen&#39;;
 this.sex=&#39;male&#39;
}
myFun.prototype.age="18"
Nach dem Login kopieren

$location service

$http({
 url:"http://datainfo.duapp.com/shopdata/getclass.php",
 method:"get",
 params:{}
}).success(function(data){
 $scope.dataList=data;
}).error(function(error){
 console.log(error)
})
Nach dem Login kopieren
$log Service

Mehrere Konsolenausgabemodi

var app = angular.module("myapp",[&#39;ngSanitize&#39;])
app.controller("myController",function ($scope,$http) {
  $http({   url:"http://datainfo.duapp.com/shopdata/getclass.php",
   method:"post",
   params:{a:1}
  }).success(function (results) {
   $scope.dataList = results
  }).error(function (error) {
   console.log(error)
  })
 })
 app.controller("yourController",function ($scope,$http) {
  $scope.search = function () {
   $http({    url:"https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su",
    method:"jsonp",
    params:{
     wd:$scope.wd,
     cb:&#39;JSON_CALLBACK&#39;
    }
   }).success(function (results) {
    $scope.dataList = results.s
   })
  }
 })
Nach dem Login kopieren
angularJs für die Dienstanbieterkonfiguration

例如

myapp.config(["$interpolateProvider",function($interpolateProvider){
 $interpolateProvider.startSymbol("!!");
 $interpolateProvider.endSymbol("!!");
}])
Nach dem Login kopieren

angular就不认识{{}}了,开始变成!!!!

自定义服务 三种

1.factory

myapp.factory(&#39;serviceName&#39;,function(){
  return ....
})
Nach dem Login kopieren

可以return 字符串、数组、函数、对象(使用最多,最和逻辑)

引入方法和angualr自带的前面加$的服务完全一样,使用方法取决于return出来的是什么东西,自定义服务的服务名还是别加$了

eq:返回一个 两个数之间的随机数的服务

myapp.factory("myService",function(){
 return {
  getRandom:function(a,b){
   return Math.random()*(b-a)+a;
  }
 }
})
Nach dem Login kopieren

自定义的服务可以依赖注入其他服务

myapp.factory(&#39;myHttpService&#39;,[&#39;$http&#39;,function($http){
   return {
     $http({
       url:......
     })      
     }
}])
Nach dem Login kopieren

eq:下一个自定义的http服务

myapp.factory("myHttpService",["$http",function($http){
  return {
    http:function(url,sfn,efn){
      $http({
        url:url,
        method:"get"
      }).success(sfn).error(efn)
    }
  }
}])
myHttpService.http("http://datainfo.duapp.com/shopdata/getclass.php",function(data){
  console.log(data)
},function(data){
  console.log(data)
})
Nach dem Login kopieren

2.provider

可以通过去自定义一个服务供应商去定义一个服务,写法有区别,服务功能性的东西需要嵌套一层返回

myapp. provider (&#39;myHttpService&#39;,[&#39;$http&#39;,function($http){
   return {
     $get:function(){
     return:{//这里才是输出
     } 
     }
}])
Nach dem Login kopieren

外面return出来的是这个服务的供应商,供应商的$get方法里返回的才是供我们使用的部分,可以通过更改供应商的部分参数来控制服务的功能,

eq:还是返回一个范围内的随机数,但是通过配置供应商的一个值来控制服务返回的是整数还是小数

myapp.provider("myService",function(){
  return {
    isInt:true,
    $get:function(){
      var that=this;
      return {
        getRandom:function(a,b){
          var num=Math.random()*(b-a+1)+a;
          if(that.isInt){
            return Math.floor(num);
          }else{
            return(num)
          }
        }
      }
    }
  }
})
myapp.config(["myServiceProvider",function(myServiceProvider){
  myServiceProvider.isInt=false;
}])
Nach dem Login kopieren

通过这种方法创建的服务是可以配置供应商的

3.service

通过这种方法创建出来的只能是对象
最简单的创建方式,自带返回,支持面向对象的写法

myapp.service("myService",function(){
    this.getRandom=function(a,b){
      return Math.random()*(b-a)+a;
    }
})

myapp.service("myService",aaa)
function aaa(){
  this.getRandom=function(a,b){
    return Math.random()*(b-a)+a;
  }
}
Nach dem Login kopieren

多个控制器间数据的共享

实现多个控制器数据共享的方法有这样三种,

第一种比较简单,就是把数据放到父作用域上,就都可以访问了

第二种就是在控制器里通过$$prevSibling找到兄弟作用域,然后使用数据,需要注意的是,如果是初始数据类型的话就不能做数据双向绑定了

第三种是定义服务,把需要共享的数据做成服务,这样就都可以用了

<body>

  <p class="container">
    <p ng-controller="firstController">
      <input type="text" class="form-control" ng-model="name">
      <input type="text" class="form-control" ng-model="data.name">
      <input type="text" class="form-control" ng-model="Data.name">
      <p>
        first-name:{{name}}<br>
        first-data-name:{{data.name}}<br>
        first-Data-name:{{Data.name}}
      </p>

    </p>
    <p ng-controller="secondController">
      <p>
        second-name:{{name}}<br>
        second-data-name:{{data.name}}<br>
        second-Data-name:{{Data.name}}
      </p>
    </p>
  </p>
</body>
<script src="../Base/angular.min.js"></script>
<script>
  var app=angular.module("myapp",[]);
  app.factory("Data",function () {
    return {
      name:&#39;lily&#39;
    }
  })
  app.controller("firstController",function ($scope,Data) {
    $scope.name="allen";
    $scope.data={
      name:&#39;tom&#39;
    }
    $scope.Data=Data;
  })
  app.controller("secondController",function ($scope,Data) {
    $scope.name=$scope.$$prevSibling.name;
    $scope.data=$scope.$$prevSibling.data;
    $scope.Data=Data;
  })
</script>
Nach dem Login kopieren

自定义模块

所有的模块都有服务,ng-app这个模块理由¥scope什么的服务,

咱们自己也可以写一个模块,然后里面可以去写服务

这样就可以把某些服务写在某个自定义的模块里,实现重复调用

例如把随机数的例子写在一个自定义的模块里

var myModule=angular.module("myModule",[]);
myModule.service("myService",function(){
  this.ran=function(a,b){
   return Math.random()*(a+b)-a;
  }
})
var myapp=angular.module("myapp",["myModule"]);
myapp.controller("myController",["$scope","$log","myService",function($scope,$log,myService){
 $log.log(myService.ran(5,10))
}])
Nach dem Login kopieren

其实像angualr.sanitize.js就是一个自定义模块

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

使用axios如何实现ajax请求(详细教程)

在JavaScript中如何实现弹性效果

使用JavaScript如何实现二叉树遍历

在axios中如何实现cookie跨域

Das obige ist der detaillierte Inhalt vonWie verwende ich es in AngularJS?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Analysieren Sie die Verwendung und Klassifizierung von JSP-Kommentaren Analysieren Sie die Verwendung und Klassifizierung von JSP-Kommentaren Feb 01, 2024 am 08:01 AM

Klassifizierung und Verwendungsanalyse von JSP-Kommentaren JSP-Kommentare werden in zwei Typen unterteilt: einzeilige Kommentare: Mit der Endung kann nur eine einzelne Codezeile kommentiert werden. Mehrzeilige Kommentare: Beginnend mit /* und endend mit */ können Sie mehrere Codezeilen kommentieren. Beispiel für einen einzeiligen Kommentar Beispiel für einen mehrzeiligen Kommentar/**Dies ist ein mehrzeiliger Kommentar*Kann mehrere Codezeilen kommentieren*/Verwendung von JSP-Kommentaren JSP-Kommentare können zum Kommentieren von JSP-Code verwendet werden, um ihn leichter lesbar zu machen

So verwenden Sie die Exit-Funktion in der C-Sprache richtig So verwenden Sie die Exit-Funktion in der C-Sprache richtig Feb 18, 2024 pm 03:40 PM

Für die Verwendung der Exit-Funktion in der C-Sprache sind bestimmte Codebeispiele erforderlich. In der C-Sprache müssen wir häufig die Ausführung des Programms zu Beginn des Programms beenden oder das Programm unter bestimmten Bedingungen beenden. Die C-Sprache stellt die Funktion „exit()“ zur Implementierung dieser Funktion bereit. In diesem Artikel wird die Verwendung der Funktion „exit()“ vorgestellt und entsprechende Codebeispiele bereitgestellt. Die Funktion „exit()“ ist eine Standardbibliotheksfunktion in der Sprache C und in der Header-Datei enthalten. Seine Funktion besteht darin, die Ausführung des Programms zu beenden und kann eine Ganzzahl annehmen

Verwendung der WPSdatedif-Funktion Verwendung der WPSdatedif-Funktion Feb 20, 2024 pm 10:27 PM

WPS ist eine häufig verwendete Office-Software-Suite und die WPS-Tabellenfunktion wird häufig für die Datenverarbeitung und Berechnungen verwendet. In der WPS-Tabelle gibt es eine sehr nützliche Funktion, die DATEDIF-Funktion, die zur Berechnung der Zeitdifferenz zwischen zwei Datumsangaben verwendet wird. Die DATEDIF-Funktion ist die Abkürzung des englischen Wortes DateDifference. Ihre Syntax lautet wie folgt: DATEDIF(start_date,end_date,unit) wobei start_date das Startdatum darstellt.

Einführung in Python-Funktionen: Verwendung und Beispiele der abs-Funktion Einführung in Python-Funktionen: Verwendung und Beispiele der abs-Funktion Nov 03, 2023 pm 12:05 PM

Einführung in Python-Funktionen: Verwendung und Beispiele der abs-Funktion 1. Einführung in die Verwendung der abs-Funktion In Python ist die abs-Funktion eine integrierte Funktion, die zur Berechnung des Absolutwerts eines bestimmten Werts verwendet wird. Es kann ein numerisches Argument akzeptieren und den absoluten Wert dieser Zahl zurückgeben. Die grundlegende Syntax der abs-Funktion lautet wie folgt: abs(x) wobei x der numerische Parameter zur Berechnung des Absolutwerts ist, der eine Ganzzahl oder eine Gleitkommazahl sein kann. 2. Beispiele für die abs-Funktion Im Folgenden zeigen wir die Verwendung der abs-Funktion anhand einiger spezifischer Beispiele: Beispiel 1: Berechnung

Einführung in Python-Funktionen: Verwendung und Beispiele der isinstance-Funktion Einführung in Python-Funktionen: Verwendung und Beispiele der isinstance-Funktion Nov 04, 2023 pm 03:15 PM

Einführung in Python-Funktionen: Verwendung und Beispiele der isinstance-Funktion Python ist eine leistungsstarke Programmiersprache, die viele integrierte Funktionen bereitstellt, um das Programmieren komfortabler und effizienter zu gestalten. Eine der sehr nützlichen integrierten Funktionen ist die Funktion isinstance(). In diesem Artikel werden die Verwendung und Beispiele der Funktion isinstance vorgestellt und spezifische Codebeispiele bereitgestellt. Mit der Funktion isinstance() wird ermittelt, ob ein Objekt eine Instanz einer bestimmten Klasse oder eines bestimmten Typs ist. Die Syntax dieser Funktion ist wie folgt

Ausführliche Erklärung und Einführung in die Verwendung der MySQL-ISNULL-Funktion Ausführliche Erklärung und Einführung in die Verwendung der MySQL-ISNULL-Funktion Mar 01, 2024 pm 05:24 PM

Die Funktion ISNULL() in MySQL ist eine Funktion, mit der ermittelt wird, ob ein angegebener Ausdruck oder eine angegebene Spalte NULL ist. Es gibt einen booleschen Wert zurück, 1, wenn der Ausdruck NULL ist, andernfalls 0. Die Funktion ISNULL() kann in der SELECT-Anweisung oder zur bedingten Beurteilung in der WHERE-Klausel verwendet werden. 1. Die grundlegende Syntax der Funktion ISNULL(): ISNULL(Ausdruck), wobei Ausdruck der Ausdruck ist, um zu bestimmen, ob er NULL ist oder

Verwendung des Schlüsselworts „distinct' beim Parsen von SQL Verwendung des Schlüsselworts „distinct' beim Parsen von SQL Feb 18, 2024 pm 09:21 PM

Ausführliche Erläuterung der eindeutigen Verwendung in SQL. In SQL-Datenbanken stoßen wir häufig auf Situationen, in denen wir doppelte Daten entfernen müssen. Zu diesem Zeitpunkt können wir das Schlüsselwort „distinct“ verwenden, das uns dabei helfen kann, doppelte Daten zu entfernen und die Abfrageergebnisse klarer und genauer zu machen. Die grundlegende Verwendung von „distinct“ ist sehr einfach. Verwenden Sie einfach das Schlüsselwort „distinct“ in der select-Anweisung. Das Folgende ist beispielsweise eine normale SELECT-Anweisung: SELECTcolumn_name

So verwenden Sie Apple-Verknüpfungen So verwenden Sie Apple-Verknüpfungen Feb 18, 2024 pm 05:22 PM

So verwenden Sie Apple-Kurzbefehle Mit der kontinuierlichen Weiterentwicklung der Technologie sind Mobiltelefone zu einem unverzichtbaren Bestandteil des Lebens der Menschen geworden. Unter vielen Mobiltelefonmarken erfreuen sich Apple-Handys seit jeher großer Beliebtheit bei Nutzern wegen ihrer stabilen Systeme und leistungsstarken Funktionen. Unter anderem macht die Apple-Shortcut-Befehlsfunktion das Mobiltelefonerlebnis der Benutzer komfortabler und effizienter. Apple Shortcuts ist eine von Apple für iOS 12 und spätere Versionen eingeführte Funktion. Sie hilft Benutzern, ihre Mobiltelefonoperationen zu vereinfachen, indem sie benutzerdefinierte Befehle erstellen und ausführen, um effizienter zu arbeiten

See all articles