gpt4 book ai didi

angularjs - 传递给 Angular 指令的链接函数的实例元素参数是什么对象类型?

转载 作者:搜寻专家 更新时间:2023-10-30 20:34:11 25 4
gpt4 key购买 nike

我正在使用带有 Angular 的 typescript 并尝试创建自定义指令。我正在尝试提供我所有的参数类型,但我不确定通过 $element 参数传递的对象是什么类型。它是 JQuery 类型吗?还是某种元素类型?

在指令代码中,我想将 $element 与 d3 选择器一起使用。 (即 d3.select($element))目前 d3 选择语句不起作用,因为 $element 类型不是 d3 期望的类型。 (我也在为 d3 使用 typescript 接口(interface)。)

var directiveDefinitionObject : ng.IDirective = {
restrict: 'E',
replace: false,
scope: { data: '=chartData' },
link: ($scope: ICustomScope, $element: <WHAT_TYPE?>) => {
d3.select($element); // d3.select(node)
}
};

最佳答案

指令的 link 函数中的

$element 的类型为 ng.IAugmentedJQuery。如果您包含 jQuery,那么您将在 $element 上获得 jQuery 函数,如果没有 jQuery,那么 Angular 将提供 jqLit​​e。 See here了解更多信息。

ng.IDirective 中的link 函数定义为:

link?: (scope: IScope,
instanceElement: IAugmentedJQuery,
instanceAttributes: IAttributes,
controller: any,
transclude: ITranscludeFunction
) => void;

关于angularjs - 传递给 Angular 指令的链接函数的实例元素参数是什么对象类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21787622/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com