首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Angular 8模板不能与ng- routerLinkActive一起使用

Angular 8模板不能与ng-routerLinkActive一起使用是因为ng-routerLinkActive是Angular的一个指令,用于在当前活动路由和给定路由匹配时添加活动CSS类。然而,在Angular 8中,模板中使用ng-routerLinkActive指令会导致编译错误。

解决这个问题的方法是使用ngClass指令来手动添加活动CSS类。ngClass指令允许根据条件动态添加或移除CSS类。以下是一个示例代码:

代码语言:txt
复制
<a routerLink="/home" [ngClass]="{'active': isActive('/home')}">Home</a>
<a routerLink="/about" [ngClass]="{'active': isActive('/about')}">About</a>

在组件的代码中,我们需要定义一个方法isActive来判断当前路由是否与给定路由匹配:

代码语言:txt
复制
import { Router } from '@angular/router';

@Component({
  ...
})
export class YourComponent {
  constructor(private router: Router) {}

  isActive(route: string): boolean {
    return this.router.isActive(route, true);
  }
}

在上述示例中,我们使用routerLink指令来定义路由链接,并使用ngClass指令来动态添加活动CSS类。isActive方法通过调用Router的isActive方法来判断当前路由是否与给定路由匹配。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 腾讯云主页:https://cloud.tencent.com/
  • 云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 云数据库 MySQL 版:https://cloud.tencent.com/product/cdb_mysql
  • 云原生应用引擎(TKE):https://cloud.tencent.com/product/tke
  • 云存储(COS):https://cloud.tencent.com/product/cos
  • 人工智能(AI):https://cloud.tencent.com/product/ai
  • 物联网(IoT):https://cloud.tencent.com/product/iotexplorer
  • 移动开发(移动推送、移动分析):https://cloud.tencent.com/product/mps
  • 区块链(BCS):https://cloud.tencent.com/product/bcs
  • 元宇宙(Tencent Real-Time 3D):https://cloud.tencent.com/product/trtc
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

教程|在 Angular 4 中加载功能模块(下)

从应用程序源代码中解压 Angular4LazyLoadModules 文件(位于 Angular4TutorialSrc.zip 中)。...图 8. 将辅助模块添加到主应用程序目录 ? 您的下一个任务是告诉 Angular 为 Weather 和 Currency 模块实现惰性加载。...原始 app-routing.module.ts 的一节 imports:[RouterModule.forRoot(appRoutes)], 清单 8....本教程介绍了一种混合加载策略,使用贪婪加载、惰性加载和预加载 3 种技术来提高应用程序性能。要实现有效的混合加载策略,可遵循以下经验法则: 对基础应用程序功能和主要模块使用贪婪加载。...对大多数用户将要访问的模块使用预加载,即使它们不是第一个查找的或查找得最频繁的应用程序资源。 对需求不太高的模块使用惰性加载。

2.3K10

Visual Studio 2015速递(3)——ASP.NET 新特性

先来说说ASP.NET 4.6吧,微软总算把异步编程贯彻到底了,终于在Model Binding上也能支持异步返回了,虽然这个过程中一般不会出现耗时操作而必须异步更好的利用资源,但是排除个别情况还是有备无患吧...总体说来传统的web form基本上没有什么太大的变化,从新的模板创建的工程来看,仅仅是默认添加Roslyn编译平台支持、增加对HTTP/2的部分支持、还有其他框架类库升级;如此保证可以使用C#和VB新版本的特性了...自从微软站出来和Angular合作之后,VS对于Angular的支持也越来越好了,很人性化的是VS2015给angular的Tag添加了一个小图片,让前端编码的时候一目了然;另外,在VS2013中敲完ng...Milestone Release Date Target Beta6 27 Jul 2015 本地化,组件化服务,.NET 4.6支持 Beta7 24 Aug 2015 跨平台运行和开发 Beta8...21 Sep 2015 冻结所有功能 RC1 Nov 2015 稳定 1.0.0 Q1* 2016 正式发布 下一篇,我们一起了解一下Visual Studio  2015 中的高级特性,请持续关注吧

1.7K60

React vs Angular 2: 冰与火之歌

,我们希望浪费这篇好文章。...是的是的,Angular 是框架,React 是类库。所以有人觉得比较这两者没有逻辑性可言。大错特错! 选择 Angular 还是 React 就像选择直接购买成品电脑还是买零件自己组装一样。...新的组件模型比第一代的指令(directives)容易掌握许多;新增了对于同构/服务器端渲染的支持;使用虚拟 DOM 提供了 3-10 倍的性能提升。...这些改进使得 Angular 2 与 React 旗鼓相当。不可否认,它功能齐全、观点鲜明,能够显著减少 “JavaScript 疲劳” 。 不过,Angular 2 的大小和语法都让我望而却步。...在 React 中,你并不需要学习 ng-什么什么 这种框架特有的 HTML 补丁(shim),你只要写 JavaScript 就好了。这才是我相信的未来。

83030

Vue系列(二)——Vue之模板语法

Vue的引用方式 Vue有两种使用方式: 1)同别的库一样,通过标签,来引入。...模板语法 下面就到了今天的主角,让我们详细介绍一下ta吧~~Vue.js 使用了基于 HTML 的模板语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据,所以就照着HTML的写法来写就没毛病...1)插值:在Vue中文本、HTML甚至JavaScript代码都可以写在模板中。...则会直接被打印出来,而不是作为HTML对象去执行;因此html需要不同的写法:v-html 3)JavaScript表达式:在Vue的模板中...,写入JS表达式也不是梦: 比如:{{ number + 1 }} 2)指令:指令是啥呢,很好判断,就是前面带个v-的,这里和angular有点像,只不过angularng-辣~指令的职责是,当表达式的值改变时

88930

Angular路由

使用reload页面内的表单可能会重新提交 2. replace 指定URL替换当前缓存在历史里(客户端)的项目,因此当使用replace方法之后,你不能通过“前进”和“后退”来访问已经被替换的URL。...F5和crtl+R是软刷,发送空的头,如果页面打开过服务器会返回302,走缓存 2. ctrl+F5  重走服务器,页面会返回200,走缓存 1.5  search 属性向服务器发送字符串数据 你可能不在意这个...其实是一样的道理 2.0 Angular路由 2.1 routerLink          //1     <a [routerLink...roterLink不会刷新目前页面,只会根据routerLink改变浏览器的hash,导向对应的视图 routerLink可以接受一个数组,来动态的改变url的值,以便我们传递特定的Url信息 2.2 routerLinkActive...图一 我们需要以下操作 路由与导航 2.3 Router API 实际项目中我们可能希望自己通过

1.3K50

一个Angular 5教程:一步一步指导实现你的第一个Angular 5应用程序

所以,如果你已经在模板语言中做过一些练习,或者已经和AngularJS一起工作,那么这里发生的事情是非常明显的。...使用表单 在Angular使用表单有两种方法 - 一种是模板驱动的,我们已经在使用其中最有价值的部分:ngModel用于双向绑定。但是Angular的形式不仅仅关于模型的价值,也关系到有效性。...使用模板驱动的表单与以前使用简单的HTML表单完全相同。如果我们需要更复杂的东西,那么在Angular中有一种不同的形式:反应式。我们将介绍转换表单后他们的反应。...通过使用formControlName,我们告诉Angular我们应该使用哪种反应形式的字段。 就目前而言,以前的方法与模板驱动的表单和反应形式的新方法之间的主要区别在于反应方面的更多编码。...这是一个支持Angular应用程序的RxJS驱动的状态管理库。它使我们能够拥有单一的应用程序状态,将所有组件连接在一起,并为我们的应用程序提供可预测和一致的行为。

42.5K10

AngularJS的digest循环和$apply

使用angular时,其会扩展这个标准的浏览器流程,创建一个angular上下文(angular事件循环内的特定代码,该angular事件循环通常被称为$digest循环)。...四、$apply从外部进入上下文 所有指令ng-[event]指令(如ng-click)都会调用scope.scope.apply(),以强制运行$digest循环。...当手动处理事件,使用第三框架(比如jquery)或者调用setTimeout都可以使用apply()函数可以从angular框架的外部让表达式在angular上下文内部执行。...当手动处理事件,使用第三框架(比如jquery)或者调用setTimeout都可以使用apply()函数将值传递到angular应用中。...(1)建议在控制器中使用$apply(),因为这样会导致难以测试。 (2)jquery和angular同时使用被视为一个肮脏的行为。

3.1K41

用VSCode开发一个基于asp.net core 2.0sql server linux(docker)ng5bs4的项目(2)

以前postman是chrome浏览器的一个扩展应用, 由于被墙, 可能会安装上, 而现在postman是一个独立的应用了, 应该都能下载安装了: https://www.getpostman.com...运行angular项目: 可以使用ng server或者npm start命令运行angular项目: ? 最好还是使用npm start, 因为ng server以后会需要添加一些参数. ...建立Service 为了使用asp.net core到web api, 需要在angular客户端建立http的service. 这里我使用HttpClient....由于angular cli其实使用的是webpack, 那么就可以使用proxy. ...然后重新运行angular项目, 这时只能使用 npm start这个命令, 如果想使用ng serve 命令则必须把后边的参数加上. 重新访问TvNetworks菜单: ? 这次读取api成功了.

2.4K50

基础 - 从模板语法数据绑定、指令到计算属性总结

写在前面 今年前端届比较有意思,从大漠穷秋发表文章比较angular和vue,继而致歉vue作者、社区,从谷歌辞去Angular Developer PM in China一职并且呼吁大家停止各种无谓的争论...也有给我们的一些建议,简单总结就是:保持好奇心,在业余时间多做尝试,以兴趣为动力,把兴趣推进一步,保持一种持续学习,持续研究的状态,多探索,多尝试; 前缀有点长,请放下手里的西瓜刀,接下来进入今天的正正题吧~~ 模板语法...关键词:[数据绑定],[指令] 谈到到模板语法,我们就会想起数据绑定和指令: 我们可以通过声明式的方式将DOM绑定至vue实例的数据: 先来聊一聊数据绑定: 1)数据绑定 关键词:[ 插值表达式 ],...使用v-html指令,可以输出html,但是我们一般这么做,对于复杂需复用的用组件代替效果更佳 丶Mustache 语法不能作用在 HTML 特性上,我们使用v-bind作用于特性,写一个例子:  通过...中的指令是 ng- 开头 关键词分类:[ v-bind绑定标签属性 ],[ v-if条件 ],[ v-for循环 ],[ v-on绑定事件 ] ,[ v-model双向绑定 ],[ v-show显示隐藏

1.9K90

Angularjs1.X进阶笔记(1)—两种不同的双向数据绑定

那么此处的问题其实就在于,在setInterval的回调函数中去修改数据模型的值时,没有触发$apply()方法来更新视图,而通过调用Angularjs封装的ng-*方法(例如ng-click点击方法)...其实这里的问题仍然和Angularjs的运行机制有关,解决方案如下: 解决方案1 使用自定义指令的templateUrl属性替换当前指令的模板使用ng-click指令来绑定一个点击响应函数,在响应函数中改变...我们可以回顾一下上面在使用双向数据绑定发生异常时的场景: 使用了原生的定时器(Angular中你应该使用$interval,$timeout服务) 用类原生方法(bind)为元素添加事件监听器,并在回调函数中修改了变量的值...(Angular中,你应该使用ng-click来实现点击事件的监听) ......你会发现,每当自己没有按照Angular的方式去编写代码,或者没有按照一个模块设计的初衷去使用它时,就无法确切地得到期望的结果。

3.4K20

angularjs学习第一天笔记

第一天,简单了解了其中中一些基本概念  1、angularjs的解释     angularjs是Google旗下的一个前端js框架,其与html、css、js配合使用,从而使得web开发更加的简单快捷...属性时,都是以ng-开始     e.angular框架中数据模型数据的变更会动态的绑定显示到view中     f.angular框架外的js修改数据模型的变化不会动态的绑定显示到view中,需要借助...DOCTYPE html> <body ng-app="myApp...AngularJS允许我们<em>使用</em><em>angular</em>.module()方法来声明模块,这个方法能够接受两个参数, 第一个是模块的名称,第二个是依赖列表,也就是可以被注入到模块中的对象列表。...控制器是可以嵌套的,作用域也是嵌套的     定义<em>使用</em>方式如下:     var app = <em>angular</em>.module('模块名称', []);     app.controller('控制器名称'

2.2K10

angularjs学习第一天笔记

第一天,简单了解了其中中一些基本概念  1、angularjs的解释     angularjs是Google旗下的一个前端js框架,其与html、css、js配合使用,从而使得web开发更加的简单快捷...属性时,都是以ng-开始     e.angular框架中数据模型数据的变更会动态的绑定显示到view中     f.angular框架外的js修改数据模型的变化不会动态的绑定显示到view中,需要借助...DOCTYPE html> <body ng-app="myApp...AngularJS允许我们<em>使用</em><em>angular</em>.module()方法来声明模块,这个方法能够接受两个参数, 第一个是模块的名称,第二个是依赖列表,也就是可以被注入到模块中的对象列表。...控制器是可以嵌套的,作用域也是嵌套的     定义<em>使用</em>方式如下:     var app = <em>angular</em>.module('模块名称', []);     app.controller('控制器名称

2.1K30
领券