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

Angular 7:@angular/core/core没有导出的成员'OpaqueToken‘

Angular 7中的@angular/core/core没有导出的成员'OpaqueToken'是一个过时的概念。在Angular 5及更早的版本中,'OpaqueToken'被用作依赖注入系统中的令牌(token)。它是一个抽象类,用于标识依赖项的唯一性。

然而,从Angular 6开始,'OpaqueToken'被弃用,并且在Angular 7中已经完全移除。取而代之的是使用'InjectionToken'来实现相同的功能。'InjectionToken'是一个泛型类,用于创建可注入的令牌。

使用'InjectionToken'的优势是可以更好地支持静态类型检查,并且提供更好的可读性和可维护性。它还可以避免在依赖注入系统中出现潜在的命名冲突。

对于Angular 7中@angular/core/core没有导出的成员'OpaqueToken'的替代方案,可以使用'InjectionToken'来定义依赖注入令牌。以下是一个示例:

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

export const MY_TOKEN = new InjectionToken<string>('myToken');

// 在提供商中使用令牌
{ provide: MY_TOKEN, useValue: 'myValue' }

// 在组件中注入令牌
constructor(@Inject(MY_TOKEN) private myToken: string) { }

在上面的示例中,我们使用'InjectionToken'创建了一个名为'MY_TOKEN'的令牌,并在提供商中使用它来提供一个值。然后,在组件中使用'@Inject'装饰器将该令牌注入到构造函数中。

关于Angular中依赖注入的更多信息,可以参考腾讯云的Angular文档:Angular依赖注入

请注意,以上答案是基于我对云计算和Angular的了解,如果有任何错误或遗漏,请指正。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ionic3升级适配angular5

昨天angular5和ionic3同时发布更新了,为了用上angular5新特性,还是有必要踩下坑,当然踩坑白老鼠建议选用一个最近不用维护项目。...angular5最新beta版 在ionic3官网建议是更新依赖到angular5.0.0版本,而根据上述说明,优先选择做了做了bug修复angular5.0.1版。.../core": "5.0.1", "@angular/forms": "5.0.1", "@angular/http": "5.0.1", "@angular/platform-browser...: OpaqueToken在v4版本被弃用,现在已经移除,用InjectionToken代替; core: DifferFactory.create在v4被弃用,现不再把ChangeDetectionRef...在本项目中,因为没有用到那几个内置管道,也没有用到路由,所以主要是调整Http模块: 在4.x中HttpClient模块被封装在@angular/common中,新HttpClient被封装在@angular

2.5K40
  • 52ABP模板 ASP.Net CoreAngular开源实例项目

    开始之前 自从上一篇文章".NET:持续进化统一开发平台"发布后,已经有三个月时间没有写过文章了。 这段时间,做了两场线下活动,一场在上海,一场在成都。...这几天本来打算把EF CORE 2.1内容整理下,然后更新下内容,然后制作成视频。但是这几天我关注疫苗事件比较多,所以就弄没有什么心情。...正文 我在之前文章“Angular UI框架 Ng-alain @delon脚手架生成开发模板”中提过,我会把.net coreAngular作为主要核心方向,然后整合 ABP + Ng Zorro...这个事情依然遥遥无期没有提上议程。不过好歹启动了第一步嘛 ” 演示下项目功能 首先是登录 ?...框架时候呢,没有这样一个可以在圈子内影响力和他们一样好开源框架,即使有名声也不是很响。

    1.1K10

    AngularDart4.0 指南- 依赖注入 顶

    依赖注入是一个重要应用程序设计模式。 它用途非常广泛,几乎所有人都称之为DI。 Angular拥有自己依赖注入框架,如果没有它,你真的不能构建一个Angular应用程序。...本页面涵盖了DI是什么,为什么它是有用,以及如何使用Angular DI。 运行实例(查看源代码)。 为什么使用依赖注入? 要理解为什么依赖注入如此重要,请考虑没有例子。...你没有一个庞大工厂班来维护。 汽车和消费者只需询问他们需要什么和传递注入器。 这就是依赖注入框架全部内容。 Angular 依赖注入 Angular 承载有自己依赖注入框架。...OpaqueToken 为非类依赖关系选择提供者令牌一种解决方案是定义和使用OpaqueToken。...这样一个令牌定义如下所示: import 'package:angular/angular.dart'; const appConfigToken = const OpaqueToken('app.config

    5.7K20

    如何在ASP.NET Core中使用SignalR构建与Angular通信实时通信应用程序

    第一种方法是在定义时间间隔(轮询)定期调用API 以更新仪表板上数据。 无论如何,还是有一个问题:如果没有更新数据,我们会因请求而不必要地增加网络流量。...一种替代方法是长轮询技术:如果服务器没有可用数据,则它可以使请求保持活动状态,直到发生某种情况或达到预设超时时间为止,而不是发送空响应。如果存在新数据,则完整响应将到达客户端。...在ASP.NET Core中,我们可以使用框架提供IHostedService接口在.NET Core应用程序中在后台实现进程执行。方法要实现是StartAsync()和StopAsync() 。...在本文中[1],您将找到涉及ASP.NET Core身份验证和授权功能详细信息。 有趣是,用户可以同时在台式机和移动设备上连接。...例如,我们使用Angular CLIng new SignalR命令创建Angular应用程序。 然后我们安装SignalR包节点( npm i @ aspnet / signalr )。

    2.1K20

    Angular 路由配置(预加载配置,懒加载配置)

    NgModule 用来控制组件、指令、管道等是否可以使用,处于同一个 NgModule 里面的组件默认互相可见,而对于外部组件来说,只能看到 NgModule 导出( exports )内容,也就是说...forRoot()//在主模块中定义主要路由信息 forChild()``//应用在特性模块(子模块)中 (2)懒加载:loadChildren 此处并没有将对应模块加入到AppModule中,而是通过...loadChildren属性值由三部分组成: 需要导入Module相对路径 #分隔符 导出模块类名称 (3)预加载 在使用懒加载情况下,路由第一次加载某个模块时,有时反应有延迟。...Angular提供了两种加载策略, PreloadAllModules-预加载 NoPreloading-没有预加载(默认)。...(需要配置路由组件) import {NgModule} from '@angular/core'; import {RouterModule, Routes} from '@angular/router

    3.2K30

    Angular12个经典问题,看看你能答对几个?(文末附带Angular测试)

    请解释Angular 2应用程序生命周期hooks是什么? Angular 2组件/指令具有生命周期事件,是由@angular/core管理。...@angular/core会创建组件,渲染它,创建并呈现它后代。当@angular/core数据绑定属性更改时,处理就会更改,在从DOM中删除其模板之前,就会销毁掉它。...简而言之,EventEmitter是在@ angular/core模块中定义类,由组件和指令使用,用来发出自定义事件。...然后,导出const路由:ModuleWithProviders = RouterModule.forChild(routes); 7.  在Angular 2应用中,我们应该注意哪些安全威胁?...使用反应式扩展(RxJS) 根据时间变化,数组成员可以异步获取 目前Angular 2正式版已经发布,部分产品也已经对Angular 2正式版进行了支持。

    17.3K80

    Angular 2 + 折腾记 :(2)初步认识angular2,不一样开发模式

    ---- 基础概念 国内官网--基础 词汇表(又名计算机术语--angular2 & es6 & es7) 速查表:又名demo写法表,里面涵盖了很多写法,相当于一本小字典 关于ng2一堆为什么:...:组件逻辑处理 // 导入装饰器:装饰器可以理解为一些函数封装,使其书写起来非常简洁明了 import { Component } from '@angular/core';...'@angular/platform-browser'; // 这也是一个装饰器,用来定义模块和组件相关,比如服务,组件元素,指令,导入导出模块识别 // 每个模块定义必须有这个才能生效...,ng2开发模式就是类似一个树,从根节点无限发散 import { NgModule } from '@angular/core'; // 表单模块,比如你要在组件内用到一些表单元素或者数据绑定...---- 总结 这一篇没有涉及到路由这些和表单这些; 准备拆成两个文章来说; 路由配置及懒加载这些, 模板驱动表单及响应式表单[嵌套表单响应等],回车键触发搜索等。。

    6.2K20

    Angular 从入坑到挖坑 - HTTP 请求概览

    ,从而确保组件中仅仅包含是必要业务逻辑行为 import { Injectable } from '@angular/core'; // 引入 HttpClient 类 import { HttpClient...,因为是以一种结构化对象形式获取到接口返回数据,因此这里可以直接通过对象属性获取到指定属性信息 import { Component, OnInit } from '@angular/core';...在执行服务中方法时,有时会存在没有回调函数情况,此时也必须执行 subscribe 方法,否则服务中 HTTP 请求是没有真正发起 服务中 getAntiMotivationalQuotes...,我们需要添加到根模块 providers 中,因为可能会存在定义多个拦截器情况,这里可以通过定义一个 typescript 文件用来导出我们需要添加拦截器信息 因为会存在定义多个拦截器情况,所以这里需要指定...,在发送请求时会按照我们添加顺序进行执行,而在接受到请求响应时,则是按照反过来顺序进行执行 获取到导出拦截器信息,就可以在根模块中去导入需要注册拦截器 import { BrowserModule

    5.3K10

    Angular 2 架构(上)

    (Data Binding) 6、指令 (Directives) 7、服务 (Services) 8、依赖注入 (Dependency Injection) 下图展示了每个部分是如何相互工作: 图中模板...每个 Angular 应该至少要有一个模块(根模块),一般可以命名为:AppModule。 Angular 模块是一个带有 @NgModule 装饰器类,它接收一个用来描述模块属性元数据对象。...exports - 声明( declaration )子集,可用于其它模块中组件模板 。 imports - 本模块组件模板中需要由其它导出模块。 providers - 服务创建者。...一个最简单根模块: app/app.module.ts 文件: import { NgModule } from '@angular/core'; import { BrowserModule...创建 Angular 组件方法有三步: 从 @angular/core 中引入 Component 修饰器 建立一个普通类,并用 @Component 修饰它 在 @Component 中,设置 selector

    1.4K10
    领券