What is the best way to run directive code once the rendering has been completed?

I am currently working on creating a directive that executes after a nested ng-repeat has finished rendering. Here is my approach in this(fiddle):

This is the HTML code:

<div ng-app="MyApp" ng-controller="MyCtrl">
    <ul my-directive>
        <li ng-repeat="animal in animals">{{animal}}</li>
    </ul>
</div>

And here is the JavaScript code:

angular.module("MyApp", [])
    .directive("myDirective", function () {
        return function(scope, element, attrs) {
            alert(element.find("li").length); // 0
        };
    });

function MyCtrl($scope) {
    $scope.animals = ["Dog", "Cat", "Elephant"];
}

The custom directive's linking function is triggering before all the <li> elements have been rendered (resulting in an alert of 0). How can I make sure my code runs after the completion of the ng-repeat rendering?

Answer №1

To optimize the code, consider placing the directive within the ng-repeat loop to enhance functionality. Check out this example: http://jsfiddle.net/ZTMex/3/

<div ng-app="MyApp" ng-controller="MyCtrl">
    <ul>
        <li ng-repeat="animal in animals" my-directive>{{animal}}</li>
    </ul>
</div>

For more insights on this topic, refer to a similar discussion at .

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Having a problem with file uploads in node.js using multer. The variables req.file and req.files are always coming

I am encountering an issue with uploading a file to my server, as both req.file and req.files are consistently undefined on my POST REST endpoint. The file I'm attempting to upload is a ".dat" file, and my expectation is to receive a JSON response. ...

Ways to include a js configuration file within a TypeScript npm package that can be customized by future users of the package

In my current project, I am working on coding a Typescript NPM package designed to function as a CLI tool. To simplify things, let's imagine that this package will take the default export from a developer-created "config.js" file and display it in th ...

The data event request in express using nodeJS is experiencing difficulties

I am currently facing an issue with the data event while trying to upload files using Express. Despite adding console logging tests, the data event doesn't seem to be working properly. Below is the server-side code snippet: var express = require(&ap ...

Learn how to save user input from form fields and text areas into JSON format using Angular

Is there a way to add comments using Angular when a user clicks on a button? Currently, whenever text is entered in the input field or textarea, it disappears and an empty block without any name, country, and comments is displayed. The entered text should ...

Having Trouble Loading PHP File with Jquery

I've been struggling with using JQuery/Ajax to load the content of my PHP file into a div tag. Below is the code snippet from my page that attempts to load the file: <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/ ...

Trouble selecting options in hierarchical data

I've been attempting to run this sample code for selecting an option from a select element with hierarchical data, but it seems to be having some issues. $scope.options = [ { id: 1, info: { label: "Item 1" } }, { id: 2, info: { label: ...

Drag-and-drop functionality in Angular JavaScript Tree View for rearranging nodes and inserting new nodes

Exploring the world of JavaScript Tree Views and Angular as a beginner. After scouring the internet for information, I'm struggling to find a solution to my specific query. Looking for a tree-view component that seamlessly integrates with Angular, c ...

Navigating the complexities of transferring data between components

I recently started working with Angular 6 and encountered an issue while trying to share data in my project. Below is the code snippets: 1) Component Sidebar: selectedCategory(type:any) { this.loginService.categoryType = type; // need to pass this d ...

What is the significance of having a timer in a Redux reducer to prompt a re-rendering process?

Encountered some unusual behavior that I need to understand better Here is the code for my reducer. Strangely, the component linked to the redux state does not re-render with this code. Despite confirming through developer tools that the state updates cor ...

Error: The 'length' property cannot be searched for using the 'in' operator

Hmm, I keep getting an error that says "Uncaught TypeError: Cannot use 'in' operator to search for 'length' in" Every time I attempt a $.each on this JSON object: {"type":"Anuncio","textos":["Probando ...

Confirm the count of window.close invocations in Cypress

I recently implemented a stub for window.close in Cypress and I'm curious about the number of times it has been invoked. cy.window().then(win => { cy.stub(win, 'close').as('parentWindowCalled'); }); My goal is to verify th ...

3 Methods for Implementing a Floating Header, Main Content, and Sidebar with Responsive Design

I am following a mobile-first approach with 3 containers that need to be displayed in 3 different layouts as shown in the image below: https://i.sstatic.net/UjKNH.png The closest CSS implementation I have achieved so far is this: HTML: <header>.. ...

Encountering Issue: Exceeding the number of hooks rendered in the previous render cycle

Every time I load my Nextjs page, an error message displays: "Error: Rendered more hooks than during the previous render." I attempted to fix this by adding if (!router.isReady) return null after the useEffect code. However, this caused a problem where th ...

Sending an HTTP GET request to an API can result in different outcomes depending on whether it is sent to localhost or to a remote server. In some cases, the

My setup involves Angular for the front end and Slim for the back end. Interestingly, when I send a request locally, everything functions smoothly, and I receive the JSON response as expected. http://localhost/domain/api/jobs However, the situation chan ...

Is there a way to arrange list items to resemble a stack?

Typically, when floating HTML elements they flow from left to right and wrap to the next line if the container width is exceeded. I'm wondering if there's a way to make them float at the bottom instead. This means the elements would stack upward ...

Obtain the API by navigating through nested dynamic routes in Next.js

Can someone help me with the folder structure in NEXT JS for pages/api/product/[id]/index.js? What would be the URL to access the Api index in the [id] folder? Here is my folder structure pages/ api/ product/ [id]/ index.js I nee ...

Merge the Angular JS project with the Web Api project

In my current Play project, I have integrated an Angular Front-end using Gulp. Now, I am looking to reuse the angular code in a .Net Web-Api project. Separating APP and API into different projects may work, but to avoid issues with ports and CORS, the best ...

Having trouble displaying API values in b-form-select component in Vue.js?

I am using an API to fetch users data and I want to bind these users to a b-form-select component in Bootstrap Vue. However, after making the request, I only see "null" in the b-form-select. Here is my request: getAllUsers() { axios.get(&a ...

How can you implement window.scrollTo animation in JavaScript without using jQuery?

Despite my efforts to find a solution written in JavaScript, I keep getting answers related to jQuery. So, how can I implement animation using window.scrollTo in pure JavaScript? I tried using setInterval but it didn't work. Any assistance on this mat ...

Issue: Trouble with Rotating Tooltips in Javascript

I am facing a challenge with the tooltips on my website. I want to ensure that all tooltips have a consistent look and transition effects, but I am struggling to achieve this. The rotation and other effects applied using javascript are not functioning prop ...