gpt4 book ai didi

javascript - 如何向 ng.Iscope 添加属性?

转载 作者:搜寻专家 更新时间:2023-10-30 21:10:40 24 4
gpt4 key购买 nike

我正在访问这样的范围:

  let element = angular.element(document.getElementsByClassName('active'));
let scope = element.scope();

当我执行 a 时,我的范围对象看起来像这样

console.log(scope);

$id:2017
$parent:ChildScope
$root:Scope
__private__:Object
index:0
match:Object
__proto__:Object

但是当我尝试这样做时:

console.log(scope.match);

Typescript 给出语法错误:

(27,34): error TS2339: Property 'match' does not exist on type 'IScope'.

并打印出 scope.$id 有效

console.log(scope.$id);

我知道它与文档中定义的 $id 相关,因此可以正常工作。 http://definitelytyped.org/docs/angularjs--angular-route/interfaces/ng.iscope.html

如何在不出现 Typescript 错误的情况下打印出我的成员变量 scope.match?我想我需要扩展 ng.IScope 吗?

最佳答案

我能够通过导出接口(interface)然后转换 ng.IScope 来解决问题。

确保使用 ? 使其成为可选参数。那是我出错的地方

export interface IMyScope extends ng.IScope {
match?: any;
}

然后:

let myScope = <IMyScope>element.scope();

关于javascript - 如何向 ng.Iscope 添加属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42449276/

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