Maison interface Web js tutoriel Explication détaillée de la syntaxe AngularJS (suite)_AngularJS

Explication détaillée de la syntaxe AngularJS (suite)_AngularJS

May 16, 2016 pm 04:18 PM
angularjs 语法

Attributs src et href

Dans Angularjs, src doit être écrit sous la forme ng-src et href doit être écrit sous la forme ng-href. Par exemple :

.

Copier le code Le code est le suivant :

Expression

Vous pouvez effectuer des opérations mathématiques simples, des opérations de comparaison, des opérations booléennes, des opérations au niveau des bits, des tableaux de référence, des notations d'objets, etc. dans les modèles. Bien que nous puissions faire beaucoup de choses avec les expressions, les expressions utilisent un interpréteur personnalisé. d'Angular) au lieu d'utiliser la fonction eval() de Javascript, elle présente donc de plus grandes limitations.
Bien que les expressions ici soient plus strictes que Javascript à bien des égards, elles sont plus tolérantes aux valeurs indéfinies et nulles. Si une erreur est rencontrée, le modèle n'affiche simplement rien au lieu de générer une erreur NullPointerException. Par exemple :

Copier le code Le code est le suivant :


{{computer() /10 }}
//Bien que ce soit légal, cela met la logique métier dans le modèle. Cette approche doit être évitée
.

Séparez les responsabilités de l'interface utilisateur et du contrôleur

Les contrôleurs sont liés à des fragments DOM spécifiques, et ces fragments constituent le contenu qu'ils doivent gérer. Il existe deux manières principales d'associer un contrôleur à un nœud DOM. La première consiste à le déclarer dans le modèle via ng-controller. La seconde consiste à le lier à un fragment de modèle DOM chargé dynamiquement via le routage. Nous pouvons créer des contrôleurs imbriqués.Ils peuvent partager des modèles de données et des fonctions via des structures d'héritage. La véritable imbrication se produit sur l'objet $scope Grâce au mécanisme d'héritage primitif interne, le $scope de l'objet contrôleur parent sera transmis à l'objet $scope interne. scope (toutes les propriétés, y compris les fonctions). Par exemple :

Copier le code Le code est le suivant :


...


Utilisez $scope pour exposer les données du modèle

Vous pouvez créer explicitement des propriétés $scope, par exemple $scope.count = 5. Vous pouvez également créer des modèles de données indirectement via le modèle lui-même.

Par expression. Par exemple

Copier le code Le code est le suivant :


Utilisez ng-model sur les éléments de formulaire

Semblable aux expressions, les paramètres de modèle spécifiés sur ng-model fonctionnent également dans le contrôleur externe. La seule différence est que cela crée une liaison bidirectionnelle entre l'élément de formulaire et le modèle spécifié.

Utilisez Watch pour surveiller les changements dans le modèle de données

La signature de fonction de $watch est : $watch(watchFn,watchAction,deepWatch)
watchFn est une chaîne avec une expression ou une fonction angulaire qui renvoie la valeur actuelle du modèle de données surveillé. watchAction est une fonction ou une expression appelée lorsque watchFn change. Sa signature de fonction est :
function(newValue,oldValue,scope) deepWatch S'il est défini sur true, ce paramètre booléen facultatif demandera à Angular de vérifier si chaque propriété de l'objet surveillé a changé. Vous pouvez utiliser ce paramètre si vous souhaitez surveiller les éléments d'un tableau ou toutes les propriétés d'un objet, plutôt que de surveiller une seule valeur. Notez qu'Angular doit parcourir des tableaux ou des objets si la collection est volumineuse, l'opération sera compliquée et lourde.

La fonction $watch renverra une fonction Lorsque vous n'avez pas besoin de recevoir des notifications de modification, vous pouvez utiliser cette fonction renvoyée pour vous déconnecter du moniteur.
Si nous devons surveiller une propriété puis nous déconnecter de la surveillance, nous pouvons utiliser le code suivant : var dereg = $scope.$watch('someModel.someProperty',callbackOnChange());
... dereg();

L'exemple de code est le suivant :

Copier le code Le code est le suivant :



    Votre panier
   


   

       

            {{item.title}}
           
            {{item.price | devise}}
            {{item.price * item.quantity | devise}}
       

       
Total : {{totalCart()| devise }}

       
Remise : {{bill.discount | devise}}

       
Sous-Total : {{sous-total() | devise}}

   

   


据。

下面是改良后的代码

复制代码 代码如下 :



    Votre panier
   


   

       

            {{item.title}}
           
            {{item.price | devise}}
            {{item.price * item.quantity | devise}}
       

       
Total : {{bill.totalcart| devise }}

       
Remise : {{bill.discount | devise}}

       
Sous-Total : {{bill.subtotal | devise}}

   

   


对于大型的itms数组来说,如果每次在Angular显示页面时只重新计算bill属性,那么性能会好很多。通过创建一个带有watchFn的$watch函数,我们可以实现这一点。

复制代码 代码如下 :

$scope.$watch(
var totalCart = fonction() {
           var total = 0 ;
pour (var i=0,len=$scope.items.length;i                          total = total $scope.items[i].price * $scope.items[i].quantity;
                }
                      $scope.bill.totalcart = total;
$scope.bill.discount = total > $scope.bill.subtotal = total - $scope.bill.discount;
            });

Surveiller plusieurs choses

Si vous souhaitez surveiller plusieurs propriétés ou objets et exécuter une fonction lorsque l'un d'entre eux change, vous disposez de deux options de base :

Surveiller la valeur de la concaténation de ces propriétés

Mettez-les dans un tableau ou un objet et transmettez une valeur au paramètre deepWatch

Instructions respectivement :

Dans le premier cas, s'il y a un objet choses dans votre portée, il a deux propriétés a et b. Lorsque ces deux propriétés changent, la fonction callMe() doit être exécutée. Vous pouvez surveiller ces deux propriétés en même temps. $scope.$watch('things.a Things.b',callMe(...));
Lorsque la liste est très longue, vous devez écrire une fonction pour renvoyer la valeur concaténée.

Dans le deuxième cas, vous devez surveiller toutes les propriétés de l'objet choses. Vous pouvez faire ceci :

Copier le code Le code est le suivant :
$scope.$watch('things',callMe(...),true);

Utiliser des modules pour organiser les dépendances

provider(name,Object OR constructor()) Description : Un service configurable qui crée des comparaisons logiques complexes. Si vous transmettez un objet en paramètre, alors l'objet Objet doit avoir une fonction nommée $get, qui doit renvoyer le nom du service. Sinon, angulairejs pensera que ce que vous transmettez est un constructeur, et l'appel du constructeur renverra l'objet d'instance de service.

factory(name,$get Function()) Description : Service non configurable, la logique de création est relativement compliquée. Vous devez spécifier une fonction qui, lorsqu'elle est appelée, renverra l'instance de service. Il peut être vu comme fournisseur(name,{$get:$getFunction()}).
service(name,constructor()) Un service non configurable, la création d'une logique est relativement simple. Semblable au paramètre constructeur de la fonction fournisseur ci-dessus, Angular peut créer une instance de service en l'appelant.

Exemple d'utilisation de module factory

Copier le code Le code est le suivant :



Votre panier




Boutique !!



   
        {{item.title}}
        {{item.description}}
        {{item.price | devise}}
   




引入第三方模块

在大多数应用中,创建供所有代码使用的单个模块,并把所有依赖的东西放入这个模块中,这样就会工作的很好。但是,如果你打算使用第三方包提供的服务或者指令,他们一般都带有自己的模块,你需要在应用模块中定义依赖关心才能引用他们。

var appMod = angulaire.module('app',['Snazzy','Super']);

关于filtre的例子

复制代码 代码如下 :


Votre panier




{{pageHeading | titleCase}}





Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment transformer rapidement votre code Python en API Comment transformer rapidement votre code Python en API Apr 14, 2023 pm 06:28 PM

Lorsqu'il s'agit de développement d'API, vous pouvez penser à DjangoRESTFramework, Flask et FastAPI. Oui, ils peuvent être utilisés pour écrire des API. Cependant, le framework partagé aujourd'hui vous permet de convertir plus rapidement les fonctions existantes en API. Introduction à Sanic Sanic[1] est un serveur Web Python3.7+ et un framework Web conçus pour améliorer les performances. Il permet l'utilisation de la syntaxe async/await ajoutée dans Python 3.5, qui peut efficacement éviter le blocage et améliorer la vitesse de réponse. Sanic s'engage à fournir un moyen simple et rapide de créer et de lancer

Nouvelle syntaxe d'alias de type dans PHP8.0 Nouvelle syntaxe d'alias de type dans PHP8.0 May 14, 2023 pm 02:21 PM

Avec la sortie de PHP 8.0, une nouvelle syntaxe d'alias de type a été ajoutée, facilitant l'utilisation de types personnalisés. Dans cet article, nous examinerons de plus près cette nouvelle syntaxe et son impact sur les développeurs. Qu'est-ce qu'un alias de type ? En PHP, un alias de type est essentiellement une variable qui fait référence au nom d'un autre type. Cette variable peut être utilisée comme n'importe quel autre type et déclarée n'importe où dans le code. La fonction principale de cette syntaxe est de définir des alias personnalisés pour les types couramment utilisés, rendant le code plus facile à lire et à comprendre.

Quelles sont les caractéristiques syntaxiques et structurelles des expressions lambda ? Quelles sont les caractéristiques syntaxiques et structurelles des expressions lambda ? Apr 25, 2024 pm 01:12 PM

L'expression Lambda est une fonction anonyme sans nom et sa syntaxe est la suivante : (parameter_list) -> expression. Ils présentent l’anonymat, la diversité, le curry et la fermeture. Dans des applications pratiques, les expressions Lambda peuvent être utilisées pour définir des fonctions de manière concise, comme la fonction de sommation sum_lambda=lambdax,y:x+y, et appliquer la fonction map() à la liste pour effectuer l'opération de sommation.

Les 5 derniers tutoriels Angularjs en 2022, de l'entrée à la maîtrise Les 5 derniers tutoriels Angularjs en 2022, de l'entrée à la maîtrise Jun 15, 2017 pm 05:50 PM

Javascript est un langage tout à fait unique. Il est unique en termes d'organisation du code, de paradigme de programmation du code et de théorie orientée objet. La question de savoir si Javascript est un langage orienté objet a été débattue depuis un certain temps. Il y a évidemment une réponse depuis longtemps. Cependant, même si Javascript est dominant depuis vingt ans, si vous souhaitez comprendre les frameworks populaires tels que jQuery, Angularjs et même React, il suffit de regarder le « Black Horse Cloud Classroom JavaScript Advanced Framework ». Tutoriel vidéo de conception".

Utilisez PHP et AngularJS pour créer un site Web réactif afin d'offrir une expérience utilisateur de haute qualité Utilisez PHP et AngularJS pour créer un site Web réactif afin d'offrir une expérience utilisateur de haute qualité Jun 27, 2023 pm 07:37 PM

À l’ère de l’information d’aujourd’hui, les sites Web sont devenus un outil important permettant aux individus d’obtenir des informations et de communiquer. Un site Web réactif peut s’adapter à divers appareils et offrir aux utilisateurs une expérience de haute qualité, ce qui est devenu un point chaud dans le développement de sites Web modernes. Cet article expliquera comment utiliser PHP et AngularJS pour créer un site Web réactif afin d'offrir une expérience utilisateur de haute qualité. Introduction à PHP PHP est un langage de programmation open source côté serveur idéal pour le développement Web. PHP présente de nombreux avantages, tels que la facilité d'apprentissage, la multiplateforme, la riche bibliothèque d'outils et l'efficacité du développement.

Syntaxe d'appel de classe parent en PHP8.0 Syntaxe d'appel de classe parent en PHP8.0 May 14, 2023 pm 01:00 PM

PHP est un langage de script côté serveur largement utilisé dans le développement Web, et la version PHP8.0 introduit une nouvelle syntaxe d'appel de classe parent pour rendre la programmation orientée objet plus pratique et concise. En PHP, nous pouvons créer une classe parent et une ou plusieurs sous-classes par héritage. Les sous-classes peuvent hériter des propriétés et des méthodes de la classe parent et peuvent modifier ou étendre leurs fonctionnalités en remplaçant les méthodes de la classe parent. Dans l'héritage PHP ordinaire, si nous voulons appeler la méthode de la classe parent dans la sous-classe, nous devons utiliser le mot-clé parent pour faire référence au parent

La connexion et la différence entre le langage Go et JS La connexion et la différence entre le langage Go et JS Mar 29, 2024 am 11:15 AM

La connexion et la différence entre le langage Go et le langage JS Go (également connu sous le nom de Golang) et JavaScript (JS) sont actuellement des langages de programmation populaires. Ils sont liés sous certains aspects et présentent des différences évidentes sous d'autres aspects. Cet article explorera les connexions et les différences entre le langage Go et JavaScript, et fournira des exemples de code spécifiques pour aider les lecteurs à mieux comprendre ces deux langages de programmation. Connexion : le langage Go et JavaScript sont multiplateformes et peuvent fonctionner sur différents systèmes d'exploitation.

Comprendre les unités de base du langage C Comprendre les unités de base du langage C Mar 21, 2024 pm 05:36 PM

Le langage C est un langage de programmation largement utilisé dans la programmation système et le développement de logiciels d'application. Ses unités de base comprennent principalement des variables, des types de données, des opérateurs, etc. Lors de l’apprentissage et de la compréhension des bases du langage C, la maîtrise de ces unités de base est particulièrement essentielle. Cet article présentera les unités de base du langage C à travers des exemples de code spécifiques pour aider les lecteurs à mieux comprendre. Tout d’abord, jetons un coup d’œil aux variables en langage C. Les variables sont utilisées pour stocker des données en langage C. Chaque variable a son propre type de données et peut stocker différents types de données, tels que des entiers et des virgules flottantes.

See all articles