问题标签 [elementref]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1135 浏览

javascript - 在Angular4的模态对话框中加载和打开组件的正确方法是什么——

我有一个名为 NewCustomerComponent 的组件,我想在单击按钮时通过另一个页面/组件中的模式弹出窗口加载和显示它。我已经编写了相关的代码[或者看起来如此]。但我收到以下错误 -

我的代码也很简单,在我试图打开模式弹出窗口的组件中。我将发布相关部分-

** 编辑。添加了 NewCustomerComponent 代码以供参考。

我在这里做错了什么?它与我根据 viewRef 添加的元素引用有关吗?哪个部分是错误的?那个子组件呢?是否需要一些特定的配置/标记/组件才能工作?我对角度很陌生;我不确定是什么原因。

请帮我纠正这种情况。提前致谢,

0 投票
1 回答
9363 浏览

angular - 在 Angular 的一项服务中使用“ElementRef”时出错

错误错误:未捕获(承诺):错误:StaticInjectorError(AppModule)[ElementRef]:
StaticInjectorError(Platform:core)[ElementRef]:NullInjectorError:没有提供ElementRef!错误:StaticInjectorError(AppModule)[ElementRef]:
StaticInjectorError(平台:核心)[ElementRef]:NullInjectorError:没有提供ElementRef!

这是我在我的一项服务中使用 angular5 时遇到的错误ElementRef,我确实像这样导入它:

0 投票
1 回答
549 浏览

html - 如何使用 Renderer2 将样式应用于 ElementRef -> Angular 中的 nativeElement 的子节点

假设我有以下 Angular 模板:

这部分代码是使用*ngFor.

我想<b>通过计算 first 和 second 的宽度来动态更改标签的左对齐<span>

我已经尝试过使用[style.left.px]="FirstSpan.offsetWidth + SecondSpan.offsetWidth + 3",但这会引发Expression Changed after Checked错误。

然后我想尝试使用QueryList<ElementRef>,但我面临的问题是图标仅在某些情况下出现,因此,我无法<b>通过使用as的children属性来添加样式,抛出错误说明无法找到财产。ElementRefRenderer2style

请帮我解决这个问题。

0 投票
1 回答
1336 浏览

javascript - 运行 ng serve Angular5 时出错

我正在运行我的 angular 5 项目ng serve,然后出现这样的错误:

node_modules/@ng-bootstrap/ng-bootstrap/buttons/radio.d.ts(58,96) 中的错误:错误 TS2315:类型“ElementRef”不是通用的。node_modules/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-input.d.ts(121,67):错误 TS2315:类型“ElementRef”不是通用的。node_modules/@ng-bootstrap/ng-bootstrap/datepicker/datepicker.d.ts(115,208):错误 TS2315:类型“ElementRef”不是通用的。node_modules/@ng-bootstrap/ng-bootstrap/dropdown/dropdown.d.ts(12,45):错误 TS2315:“ElementRef”类型不是通用的。node_modules/@ng-bootstrap/ng-bootstrap/dropdown/dropdown.d.ts(29,45):错误 TS2315:“ElementRef”类型不是通用的。node_modules/@ng-bootstrap/ng-bootstrap/dropdown/dropdown.d.ts(37,44):错误 TS2315:“ElementRef”类型不是通用的。node_modules/@ng-bootstrap/ng-bootstrap/modal/modal-window.d.ts(14,40):错误 TS2315:“ElementRef”类型不是通用的。node_modules/@ng-bootstrap/ng-bootstrap/popover/popover.d.ts(11,27):错误 TS2315:类型“ElementRef”不是通用的。node_modules/@ng-bootstrap/ng-bootstrap/popover/popover.d.ts(70,30):错误 TS2315:“ElementRef”类型不是通用的。node_modules/@ng-bootstrap/ng-bootstrap/tooltip/tooltip.d.ts(9,27):错误 TS2315:“ElementRef”类型不是通用的。node_modules/@ng-bootstrap/ng-bootstrap/tooltip/tooltip.d.ts(54,30):错误 TS2315:“ElementRef”类型不是通用的。node_modules/@ng-bootstrap/ng-bootstrap/typeahead/typeahead.d.ts(94,30):错误 TS2315:类型“ElementRef”不是通用的。node_modules/@ng-bootstrap/ng-bootstrap/popover/popover.d.ts(11,27):错误 TS2315:类型“ElementRef”不是通用的。node_modules/@ng-bootstrap/ng-bootstrap/popover/popover.d.ts(70,30):错误 TS2315:“ElementRef”类型不是通用的。node_modules/@ng-bootstrap/ng-bootstrap/tooltip/tooltip.d.ts(9,27):错误 TS2315:“ElementRef”类型不是通用的。node_modules/@ng-bootstrap/ng-bootstrap/tooltip/tooltip.d.ts(54,30):错误 TS2315:“ElementRef”类型不是通用的。node_modules/@ng-bootstrap/ng-bootstrap/typeahead/typeahead.d.ts(94,30):错误 TS2315:类型“ElementRef”不是通用的。node_modules/@ng-bootstrap/ng-bootstrap/popover/popover.d.ts(11,27):错误 TS2315:类型“ElementRef”不是通用的。node_modules/@ng-bootstrap/ng-bootstrap/popover/popover.d.ts(70,30):错误 TS2315:“ElementRef”类型不是通用的。node_modules/@ng-bootstrap/ng-bootstrap/tooltip/tooltip.d.ts(9,27):错误 TS2315:“ElementRef”类型不是通用的。node_modules/@ng-bootstrap/ng-bootstrap/tooltip/tooltip.d.ts(54,30):错误 TS2315:“ElementRef”类型不是通用的。node_modules/@ng-bootstrap/ng-bootstrap/typeahead/typeahead.d.ts(94,30):错误 TS2315:类型“ElementRef”不是通用的。错误 TS2315:类型“ElementRef”不是通用的。node_modules/@ng-bootstrap/ng-bootstrap/tooltip/tooltip.d.ts(9,27):错误 TS2315:“ElementRef”类型不是通用的。node_modules/@ng-bootstrap/ng-bootstrap/tooltip/tooltip.d.ts(54,30):错误 TS2315:“ElementRef”类型不是通用的。node_modules/@ng-bootstrap/ng-bootstrap/typeahead/typeahead.d.ts(94,30):错误 TS2315:类型“ElementRef”不是通用的。错误 TS2315:类型“ElementRef”不是通用的。node_modules/@ng-bootstrap/ng-bootstrap/tooltip/tooltip.d.ts(9,27):错误 TS2315:“ElementRef”类型不是通用的。node_modules/@ng-bootstrap/ng-bootstrap/tooltip/tooltip.d.ts(54,30):错误 TS2315:“ElementRef”类型不是通用的。node_modules/@ng-bootstrap/ng-bootstrap/typeahead/typeahead.d.ts(94,30):错误 TS2315:类型“ElementRef”不是通用的。

0 投票
0 回答
1072 浏览

angular - 泛型类型 ElementRef需要 2 个类型参数 angular 6

我正在使用ElementRef访问 DOM 元素,但出现错误,

泛型类型 ElementRef 需要 2 个类型参数 angular 6

这是代码

进口

代码

上面的代码是我在大多数网站上看到的语法,我试过用这种方式

我在其他网站上看到的,它解决了 IDE 中的错误,但是在 ng serve 时我在控制台中遇到了错误

src/app/view/menu/transactions/transactions.component.ts(39,41) 中的错误:错误 TS2707:通用类型“ElementRef”需要 0 到 1 个类型参数。

因此,我无法使用ElementRef,请帮助我是 Angular 新手。

0 投票
1 回答
2192 浏览

javascript - @Viewchild Angular 5、6 - ElementRef

我使用 Angular 的 ElementRef 引用了一个控件,为此我使用以下代码:

HTML:

打字稿:

我需要参考才能到达click()事件,用javascript我已经解决了:

但是使用 ElementRef 这样做不起作用,我收到错误“... nativeElement undefined”:

我可以用 javascript 做到这一点,但这不是想法。有什么建议,我可能错了吗?

谢谢你。

0 投票
1 回答
161 浏览

html - 从 iframe 中的角度应用程序内部访问隐藏 div 的值

我需要从 Angular 应用程序内部获取隐藏 div 中的字符串值。这是我所拥有的:

如何testString在非根组件的 Angular 应用程序中访问 div 的值?尝试使用这些并获得空值:

可以用 ElementRef 完成吗?另外,如何保护此字符串免受注入和 xss 攻击?

谢谢

0 投票
0 回答
450 浏览

html - 如何使用 ElementRef 和 Renderer2 将角度指令分配给 html 元素?

我正在 Angular 6 中开发拖放应用程序,在拖放操作中,我正在创建新的 HTML 元素(诸如“DIV”、“textarea”等元素),并动态分配样式、属性、默认 x 和 y 坐标到它通过使用应用程序的 ElementRef 和 Renderer2 功能并将新创建的 HTML 元素添加到正在执行拖放操作的父元素。

我还创建了一个角度指令,它将可拖动行为附加到新创建的 HTML 元素,以便用户可以将其移动到父元素上的任何位置。指令的部分代码如下:

虽然我能够将样式、属性和默认 x 和 y 坐标分配给新创建的元素,但我无法将“appMovable”指令绑定到新创建的 HTML 元素。创建 HTML 元素并为其分配不同属性的代码如下:

当我在浏览器调试器工具中检查新创建的 HTML 元素时,我可以看到 appMovable 指令被分配给 HTML 元素,但元素的行为与分配给它的指令不同。

是否还需要做任何其他事情,或者有任何替代选项可以让指令与动态创建的 HTML 元素一起正常工作?

0 投票
1 回答
1302 浏览

angular - 角度 2/5/6 中 document.getElementsByTagName('body') 的替代方案

我想从另一个子组件中获取“body”元素。
如何从子组件中获取 body 元素?
因为我想将类附加并删除到正文窗体子组件。

0 投票
1 回答
1750 浏览

angular - 比较 HTMLElement 和 ElementRef

我在 Angular 5 中工作。我正在调用一个函数keyup并将一个事件传递给它。我也有另一个这样的参考

我正在尝试检查他们的 id 并在此基础上做一些事情。

但我收到一个错误

[ts] 运算符 '===' 不能应用于类型 'string' 和 'HTMLAnchorElement'

有人可以告诉我如何打字和检查他们的身份证。谢谢。我是新来的。