Render hyperlinked items in Angular ListView component
12 Sep 20253 minutes to read
The ListView component supports template functionality which allows adding hyperlink navigation to list items. This can be achieved by using an anchor
tag within the ListView template
property.
Here’s how to implement hyperlink navigation in ListView items:
<ng-template #template let-data="">
<a target='_blank' href=""></a>
</ng-template>
The template requires a data source with the following structure:
-
url
: The hyperlink URL for navigation -
name
: The display text for the link
The below sample demonstrates ListView with search engine URLs using hyperlink navigation:
import { NgModule } from '@angular/core'
import { BrowserModule } from '@angular/platform-browser'
import { ListViewModule } from '@syncfusion/ej2-angular-lists'
import { Component, ViewChild } from '@angular/core';
@Component({
imports: [
ListViewModule
],
standalone: true,
selector: 'my-app',
template: `
<div id="sample">
<ejs-listview id='List' [dataSource]='data' headerTitle='Search engines' showHeader='true'>
<ng-template #template let-data="">
<a target='_blank' href=""></a>
</ng-template>
</ejs-listview>
</div>
`,
})
export class AppComponent {
public data = [
{ name: 'Google', url: 'https://www.google.com' },
{ name: 'Bing', url: 'https://www.bing.com' },
{ name: 'Yahoo', url: 'https://www.yahoo.com' },
{ name: 'Ask.com', url: 'https://www.ask.com' },
{ name: 'AOL.com', url: 'https://www.aol.com' },
];
}
@import 'node_modules/@syncfusion/ej2-base/styles/material.css';
@import 'node_modules/@syncfusion/ej2-angular-base/styles/material.css';
@import 'node_modules/@syncfusion/ej2-angular-lists/styles/material.css';
@import 'node_modules/@syncfusion/ej2-angular-buttons/styles/material.css';
@import 'node_modules/@syncfusion/ej2-angular-popups/styles/material.css';
@import 'node_modules/@syncfusion/ej2-angular-inputs/styles/material.css';
#List {
max-width: 300px;
margin: auto;
border: 1px solid #dddddd;
border-radius: 3px;
}
#List a {
text-decoration: none;
}
#List .e-list-header {
background: rgb(2, 120, 215);
color: white;
font-size: 19px;
font-weight: 500;
}
import { bootstrapApplication } from '@angular/platform-browser';
import { AppComponent } from './app.component';
import 'zone.js';
bootstrapApplication(AppComponent).catch((err) => console.error(err));