Home Web Front-end JS Tutorial Detailed explanation of object properties returned by AngularJS directive_AngularJS

Detailed explanation of object properties returned by AngularJS directive_AngularJS

May 16, 2016 pm 03:07 PM
angularjs

Written in front: Since the directive part is the top priority in angularjs, it will be explained in multiple chapters. This chapter mainly explains the simpler attributes in the object returned by directive

Directive() is used in angularjs to define instructions. This method receives two parameters: name (the name of the instruction), factory_function (this function defines all the behaviors of the instruction and returns an object)

Chestnut:

//index.js
angular.module('myApp',[]);
myApp.directive('myDirective',function() {return {};});
Copy after login

The returned object contains the following properties and methods:

1: restrict: String

This attribute is used to describe the form in which the myDirective directive is declared in the DOM (that is, where it should be used in HTML)
The optional values ​​​​of this attribute are: E (element), A (attribute, default value), C (class name), M (comment), which can be used alone or in combination
I have seen a saying: If you want to customize an independent command function, that is, the command can complete a series of operations independently without relying on other elements, attributes, etc., then define the command as an element; if you want to use this command To extend the functionality of an existing directive, define it as an attribute. I don’t know if this understanding is reasonable, but it is indeed a good selection method standard that can be used for reference

2: priority: Number

This attribute is used to define the priority of the instruction (the default is 0, ngRepeat has the highest priority among all built-in instructions, which is 1000). The one with higher priority is executed first.

3: terminal: Boolean

This attribute is related to the priority attribute. It is used to determine whether to stop running instructions with a lower priority than this instruction on the current element, but the same priority will still be executed
Chestnut:

//index.js
angular.module('myApp',[])
.directive('myDirective',function() {
  return {
    restrict: 'AE',
    priority: 1,
    template: '<div>hello world</div>'
  };
})
.directive('myDirective1',function() {
  return {
    restrict: 'AE',
    priority: 3,
    terminal: true
  };
})

Copy after login
<!-- index.html -->
<div my-directive my-directive1></div>
Copy after login

If the myDirective1 directive is not defined, the browser will display hello world, but after adding the myDirective1 directive, setting its priority to be greater than myDirective, and setting the terminal attribute to true on myDirective1, it will stop. Execution of myDirective directive.

4: template: String/Function

This attribute defines a template (that is, the part using this instruction in the html file will replace the content of the template, so the template is mainly in html format)
Attributes come in two forms: a piece of html text, and a function that returns a template string, and the function receives two parameters: tElement, tAttrs

5: templateUrl: String/Function

When there is a lot of template content, nesting it directly in the template will appear redundant. You can store the template code in a separate file. In this case, you will need to import the file. TemplateUrl can do this
Attributes also come in two forms: a string representing the path of an external html file, and a function that returns a string of the path to an external html file. This function receives two parameters: tElement, tAttrs

6: replace: Boolean

The default value of this attribute is false, indicating whether the template will be inserted as a child element into the element that calls this directive, or overwrite and replace the element that calls this directive.
Chestnut:

//index.js
angular.module('myApp',[])
.directive('myDirective',function() {
  return {
    restrict: 'A',
    template: '<div>hello world</div>',
    replace: true/false
  };  
}) 
Copy after login
 <!-- index.html -->
<my-directive></my-directive>
Copy after login

When repalce is false, the browser source code is rendered as

hello world

When true, it will appear as
hello world

7: transclude: Boolean

Chestnut:

<!-- index.html -->
<div my-directive>world</div>
Copy after login

Like this example, if there is content inside the instruction, usually the template will directly overwrite and replace the content, but now I want to keep it, and this is where transclude comes in handy

//index.js
angular.module('myApp',[])
.dirctive('myDirective',function() {
  return {
    restrict: 'EA', 
    transclude: true,
    template: '<div>hello <span ng-transclude></span></div>'
  };
})
Copy after login

The above js code will embed the world contained in the html file directive into the span element in the template. Note that the span element adds the ng-transclude built-in directive attribute (this is very important)
In short, the purpose of this attribute is to tell the angularjs compiler to put the content it gets from the DOM element where it finds the ng-transclude directive.
The above is the entire content of this article, I hope it will be helpful to everyone's study.

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

The latest 5 angularjs tutorials in 2022, from entry to mastery The latest 5 angularjs tutorials in 2022, from entry to mastery Jun 15, 2017 pm 05:50 PM

Javascript is a very unique language. It is unique in terms of the organization of the code, the programming paradigm of the code, and the object-oriented theory. The issue of whether Javascript is an object-oriented language that has been debated for a long time has obviously been There is an answer. However, even though Javascript has been dominant for twenty years, if you want to understand popular frameworks such as jQuery, Angularjs, and even React, just watch the "Black Horse Cloud Classroom JavaScript Advanced Framework Design Video Tutorial".

Use PHP and AngularJS to build a responsive website to provide a high-quality user experience Use PHP and AngularJS to build a responsive website to provide a high-quality user experience Jun 27, 2023 pm 07:37 PM

In today's information age, websites have become an important tool for people to obtain information and communicate. A responsive website can adapt to various devices and provide users with a high-quality experience, which has become a hot spot in modern website development. This article will introduce how to use PHP and AngularJS to build a responsive website to provide a high-quality user experience. Introduction to PHP PHP is an open source server-side programming language ideal for web development. PHP has many advantages, such as easy to learn, cross-platform, rich tool library, development efficiency

Build web applications using PHP and AngularJS Build web applications using PHP and AngularJS May 27, 2023 pm 08:10 PM

With the continuous development of the Internet, Web applications have become an important part of enterprise information construction and a necessary means of modernization work. In order to make web applications easy to develop, maintain and expand, developers need to choose a technical framework and programming language that suits their development needs. PHP and AngularJS are two very popular web development technologies. They are server-side and client-side solutions respectively. Their combined use can greatly improve the development efficiency and user experience of web applications. Advantages of PHPPHP

Build a single-page web application using Flask and AngularJS Build a single-page web application using Flask and AngularJS Jun 17, 2023 am 08:49 AM

With the rapid development of Web technology, Single Page Web Application (SinglePage Application, SPA) has become an increasingly popular Web application model. Compared with traditional multi-page web applications, the biggest advantage of SPA is that the user experience is smoother, and the computing pressure on the server is also greatly reduced. In this article, we will introduce how to build a simple SPA using Flask and AngularJS. Flask is a lightweight Py

Introduction to the basics of AngularJS Introduction to the basics of AngularJS Apr 21, 2018 am 10:37 AM

The content of this article is about the basic introduction to AngularJS. It has certain reference value. Now I share it with you. Friends in need can refer to it.

How to use AngularJS in PHP programming? How to use AngularJS in PHP programming? Jun 12, 2023 am 09:40 AM

With the popularity of web applications, the front-end framework AngularJS has become increasingly popular. AngularJS is a JavaScript framework developed by Google that helps you build web applications with dynamic web application capabilities. On the other hand, for backend programming, PHP is a very popular programming language. If you are using PHP for server-side programming, then using PHP with AngularJS will bring more dynamic effects to your website.

Use PHP and AngularJS to develop an online file management platform to facilitate file management Use PHP and AngularJS to develop an online file management platform to facilitate file management Jun 27, 2023 pm 01:34 PM

With the popularity of the Internet, more and more people are using the network to transfer and share files. However, due to various reasons, using traditional methods such as FTP for file management cannot meet the needs of modern users. Therefore, establishing an easy-to-use, efficient, and secure online file management platform has become a trend. The online file management platform introduced in this article is based on PHP and AngularJS. It can easily perform file upload, download, edit, delete and other operations, and provides a series of powerful functions, such as file sharing, search,

How to use PHP and AngularJS for front-end development How to use PHP and AngularJS for front-end development May 11, 2023 pm 05:18 PM

With the popularity and development of the Internet, front-end development has become more and more important. As front-end developers, we need to understand and master various development tools and technologies. Among them, PHP and AngularJS are two very useful and popular tools. In this article, we will explain how to use these two tools for front-end development. 1. Introduction to PHP PHP is a popular open source server-side scripting language. It is suitable for web development and can run on web servers and various operating systems. The advantages of PHP are simplicity, speed and convenience

See all articles