gpt4 book ai didi

knockout.js - 大胆错误 : Object doesn't support property or method 'filter'

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

我正在尝试在我的 knockout viewmodels 上运行 jasmine 测试,通过 chutzpah 用 typescript 编写,但由于以下错误,这似乎不可能:

Chutzpah Error: Object doesn't support property or method 'filter'

每当我访问一个 knockout observable 时就会抛出这个错误,并且可以通过以下简单示例重新创建。

/// <reference path="../../typings/jquery/jquery.d.ts" />
/// <reference path="../../typings/knockout/knockout.d.ts" />
/// <reference path="../../typings/jasmine/jasmine.d.ts" />

module Example {
export class KnockoutClass {
public anObservable = ko.observable<string>();

public aComputed = ko.computed<boolean>(() => {
return this.anObservable().length() > 5;
});
}
}

describe("This", () => {
it(" will throw an error", () => {

var temp: Example.KnockoutClass = new Example.KnockoutClass();

});
});

我是不是在做一些根本性的错误,或者是 chutzpah 与 knockout/typescript 组合不兼容?

更新

所以我设法通过执行以下操作让 chutzpah 运行我的测试:

  1. 从我的项目中删除“Jasmine Test Framework”NuGet 包并将其替换为“jasmine.js”NuGet 包。
  2. 将 jasmine specrunner.html 文件添加到我的测试目录,该文件引用我的测试及其依赖项
  3. 在 Tools->Options->Chutzpah->Unit Test Explorer 中将测试模式设置为 HTML
  4. 从测试资源管理器窗口运行测试

这让我的测试成功运行,但当我尝试通过右键单击运行时仍然遇到相同的异常 ->“运行 JS 测试”,我也无法调试测试。

问题似乎是我的引用都没有被解析(过滤方法在 jquery 中定义)所以我可能需要使用 require.js 或其他一些模块加载器来解析我的依赖关系?

最佳答案

这可以通过升级到最新版本的 Chutzpah 来解决。

关于knockout.js - 大胆错误 : Object doesn't support property or method 'filter' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19025107/

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