Angular 4指令错误:无法解析指令的所有参数

2024-04-23

我对 Angular 完全陌生并尝试注入基本结构指令 https://angular.io/guide/structural-directives#the-myunless-property来自角度指南。这是我的指令:

import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';

@Directive({
  selector: '[pcDropdown]'
})
export class DropdownDirective {
  private hasView = false;

  constructor(
    private templateRef: TemplateRef<any>,
    private viewContainer: ViewContainerRef,
    private items
  ) { }

  @Input() set pcDropdown(condition: boolean) {
    if (!condition && !this.hasView) {
      this.viewContainer.createEmbeddedView(this.templateRef);
      this.hasView = true;
    } else if (condition && this.hasView) {
      this.viewContainer.clear();
      this.hasView = false;
    }
  }
}

我正在尝试将它注入我的TradeModule:

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { SharedModule } from '../shared/shared.module';
import { TradeComponent } from './trade.component';
import { DropdownDirective } from '../dropdown.directive/dropdown.directive';

@NgModule({
  imports: [
    CommonModule,
    SharedModule
  ],
  declarations: [TradeComponent, DropdownDirective],
  exports: [DropdownDirective]
})
export class TradeModule { }

并在我的中使用以下 HTML 部分TradeComponent的模板:

...
<p *pcDropdown="true">
  TEST
</p>
...

但我收到错误:

未捕获的错误:无法解析 DropdownDirective 的所有参数: ([对象对象],[对象对象],?)。

Webstorm 也是我的基础@Directive装饰者并说出以下内容:

Angular:无法解析 DropdownDirective 的所有参数 /home/commercialsuicide/Desktop/my-app/src/client/app/dropdown.directive/dropdown.directive.ts: ([对象对象], [对象对象], ?)

它还说我的pcDropdown输入未使用:

需要说的是,我已经看到了这个答案 https://stackoverflow.com/a/42717565/6053654 and emitDecoratorMetadata已设置为true in tsconfig.json.

请指出我拼写错误或忘记在代码中包含某些内容的地方。

非常感谢


private items缺少类型参数。如果 Angular 无法解析提供程序的所有参数,则无法创建组件实例。
解析为提供者仅适用于参数类型和@Inject(...)注释。

如果你不想items要注入,请删除该参数。在任何情况下,您都不需要自己创建组件实例来显式传递参数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angular 4指令错误:无法解析指令的所有参数 的相关文章

随机推荐

  • ActiveAdmin:按子对象计数过滤

    在严重依赖 ActiveAdmin 的 Ruby on Rails 应用程序中 我有一个赞助商模型 它与赞助商模型关联 一sponsor可以资助很多孩子 所以一个sponsor可以有很多sponsorships 我想做的是能够在赞助商索引页
  • 无法使用 RVM、Ruby 1.9.2 和 Rails 3 运行 RubyMine 调试器

    我已经设置了全新的 Ubuntu 安装并遵循本指南 http ryanbigg com 2010 12 ubuntu ruby rvm rails and you安装 RVM Ruby 1 9 2 和 Rails 3 然后我安装了RubyM
  • ADAL.js 和 MSAL.js 有什么区别?

    我正在尝试处理使用 Microsoft Graph 的应用程序的身份验证 这两个库有什么区别 JavaScript 的 Active Directory 身份验证库 ADAL js https github com AzureAD azur
  • java中如何读取xep文件数据

    有没有办法在 pdf 完全渲染之前获取总页数并输入我们提供 xml 文件 xslt 是页面布局的样式表 我们使用 RenderX 从 xslt 进行 pdf 转换 将其转换为 xsl fo 文件 从 xsl fo 转换为 xep 文件 从
  • Foreman/Puma 未使用开发环境中指定的端口

    我在 application yml 中将端口设置为 3000 figaro 管理环境变量 rails s使用端口 3000 但当我跑步时foreman start 根据 Heroku 的推荐 我得到以下输出 14 53 23 web 1
  • 错误:找不到函数“geom_sf”

    我目前在 Windows 上运行 R 版本 3 4 2 并拥有 ggplot2 通过 tidyverse 和 sf 包版本 3 4 2 我正在尝试使用 ggplot2 sf 套件来绘制空间数据 尝试运行 geom sf 时 我收到错误 co
  • 为什么我的解密方法抛出“要解密的数据长度无效”加密异常

    这是一个非常常见的异常 但显然我找到的解决方案都没有解决我的问题 我有一个加密和一个解密方法 我加密一个字符串并将其写入文件 然后从文件中读取该字符串并解密 理论上 事实上 我得到了一个 加密异常 要解密的数据长度无效 在该过程的解密方面
  • 为什么在 Rust 中无法在不引用其中之一的情况下连接两个字符串?

    这有效 let hello Hello to string let world world let hello world hello world 但这并没有 let hello Hello to string let world worl
  • 如何在windows上安装mongoDB?

    我正在尝试测试 mongoDB 看看它是否适合我 我下载了 32 位 Windows 版本 但不知道如何继续 我通常使用 WAMP 服务在本地计算机上进行开发 我可以在 Wamp 上运行 mongoDB 吗 但是 使它在 Windows 上
  • T-SQL 去除所有非字母和非数字字符

    有没有一种更聪明的方法来删除所有特殊字符 而不是使用一系列大约 15 个嵌套替换语句 以下代码有效 但仅处理三个字符 与号 空格和句点 select CustomerID CustomerName Replace Replace Repla
  • 在 bash 中使用 ssh 内的 Expect 执行 sudo

    我想创建一个脚本来自动在多个 Linux 主机上进行安装 我使用 ssh 密钥登录到主机 在登录中我想做一个 sudo 我正在尝试使用 Expect 我在站上有它 但是我的服务器上没有运行脚本 我该怎么做 这是我的尝试 但没有运气 bin
  • 如何以编程方式将审阅者分配给 Azure DevOps Pull 请求?

    我知道如何使用 gitHttpClient 在 VSTS 中创建拉取请求 如下所示gitHttpClient CreatePullRequestAsync gitPullRequest repositoryId Result 但我不知道如何
  • Permission_required 装饰器不适合我

    我不明白为什么需要许可的装饰器不起作用 我想只允许工作人员访问视图 我努力了 permission required request user is staff login url admin def series info request
  • 使用 sql helper(Microsoft.ApplicationBlocks.Data) 时出现超时问题

    我在处理长sql查询时遇到超时问题 长查询超时的数据集是 static public DataSet Getxxxx Guid xxxx DataSet ds SqlHelper ExecuteDataset ConnectionStrin
  • 一般错误:1215 无法在 Laravel 中添加外键约束

    进行迁移时我收到此错误 SQLSTATE HY000 一般错误 1215 无法添加外键约束 SQL alter tablebooks添加约束books writer id foreign外键 writer id 参考writers id 我
  • 如何以编程方式按名称获取 Angular 服务

    我有一个字符串 其中包含我需要以编程方式注入到我的控制器之一中的服务名称 function Ctrl var serviceName myService var service 我认为做类似的事情应该很容易 function Ctrl in
  • Monodroid 环境变量

    在 Android 中 Android OS Environment 提供了一组可用的环境路径 但是 当考虑到跨平台功能时 我想将图片存储在图片文件夹中 因此考虑使用 System Environment GetFolderPath 然而
  • 设计允许对单个控制器操作进行令牌身份验证

    我有一个网络应用程序 它对所有控制器使用设计数据库身份验证 但是我希望有一个控制器操作 其中身份验证也使用令牌完成 我可以为此使用设备吗 制定策略有valid 调用以确定是否应启用策略的方法 这允许您在每个控制器 操作的基础上控制可用的身份
  • try...catch 中的隐式类型变量

    我喜欢对几乎所有事情使用隐式类型 因为它干净而简单 但是 当我需要在单个语句周围包装 try catch 块时 我必须打破隐式类型以确保变量具有定义的值 这是一个人为的假设示例 var s abc I want to avoid expli
  • Angular 4指令错误:无法解析指令的所有参数

    我对 Angular 完全陌生并尝试注入基本结构指令 https angular io guide structural directives the myunless property来自角度指南 这是我的指令 import Direct