在 TypeScript 中淘汰 observableArray

2024-02-19

在 TypeScript 类中初始化 Knockout observableArray 的正确方法是什么?

我正在做这样的事情:

   module ViewModel { 

        declare var ko;

        export class IndexPageViewModel {       

                agencies: any;                   

                constructor () {               
                    this.agencies = ko.observableArray([]);              
                }                                                                                                   
        }
    }


var ivm = new ViewModel.IndexPageViewModel();
ivm.agencies.push({name: "name", alias : "alias"});
for (var i = 0; i < ivm.agencies.length; i++){
    alert(ivm.agencies[i].name);
 }

看起来很简单,但是当我尝试按照指示访问代理属性时,执行会挂起。我错过了什么?


这行是你的错误所在:

agencies[i]

当您访问可观察数组时,它实际上包装在一个函数中,因此您可以像以下方式访问它:

agencies()[i]

也帮自己一个忙,从以下位置下载淘汰赛定义:https://github.com/borisyankov/DefinitelyTyped https://github.com/borisyankov/DefinitelyTyped

然后用类型声明你的属性:

module ViewModel {

    export class IndexPageViewModel {

        agencies: KnockoutObservableArray;

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

在 TypeScript 中淘汰 observableArray 的相关文章

随机推荐

  • 从 URL 获取文件名

    在Java中 给定一个java net URL or a String形式为http www example com some path to a file xml 获取文件名 减去扩展名 的最简单方法是什么 所以 在这个例子中 我正在寻找
  • Rust 比赛的早期突破

    我想切换多种可能的情况x有一种情况 这里x 0 我想检查一些附加代码的结果以确定下一步要做什么 一种可能性是提前结束比赛 I d use break在 C 中执行此提前返回操作 但这在 Rust 中是不允许的 return从父函数返回 在本
  • 将 UIGesture 转发到后面的视图

    我正在开发 iPhone iOS 4 0 或更高版本 应用程序 并且在多个视图之间进行触摸处理时遇到一些问题 我有这样的视图结构 gt A superView gt SubView A gt SubView B exactly on top
  • Sage Pay 测试服务器不会加载 3D 安全页面

    我正在将 Sage Pay Direct 集成到网站中 目前 我正在测试模式下运行所有 内容 并且一切正常 除非我使用 3D Secure 测试付款 我在这里使用 Sage Pay 测试卡中的第一张卡详细信息 http www sagepa
  • 在 Web 组件 ShadowDOM 中使用 bootstrap

    使用 LitElement 在 Web 组件 shadowDOM 应用程序中使用大型 css 库 如 bootstrap 的最简单方法是什么 尝试了以下方法 在组件内使用链接标签 有效 但会创建 FOUC 无样式内容的闪存 将所有内容渲染到
  • Flask WTForms:如何将表单值返回到 Python 中?

    我想做的是获取 5 个不同字段的用户输入 然后让用户输入的内容可在 python 程序的其余部分中使用 到目前为止 我的代码如下所示 class ArtistsForm Form artist1 StringField Artist 1 v
  • 如何将图片从 url 上传到 Blobstore?

    Google App Engine 文件 API 现在支持以编程方式创建 blobstore blob 我正在尝试通过 http 获取图像并将其存储到 blobstore 中 file name files blobstore create
  • 更改 matplotlib 饼图中的线条属性

    我试图让 matplotlib 饼图上的线条变得更浅 因为我有很多切片 所以线条太粗 如下所示 I read 这个例子 https stackoverflow com questions 1915871 matplotlib control
  • haskell——有什么方法可以为大致元组同构的数据类型生成“派生”实例吗?

    假设我有一个像这样的数据类型 data D a D a a a 和一个类型类 class C c instance C c1 C c2 gt C c1 c2 然后 我希望能够写 data D a D a a a deriving C 并生成
  • 当原型在外部使用 $ 时,如何在 domready 内部使用 $ 进行 jQuery?

    我无法从 JSF 框架 RichFaces 3 3 3 中删除原型 如果我尝试 noConflict 并尝试接管 它会破坏我的应用程序框架 因为它与原型紧密耦合 那么有没有一种方法可以让我做到这一点 jQuery function some
  • 如何检查 s3 存储桶中是否存在特定文件

    我是 AWS 新手 我想检查 s3 中的文件夹中是否存在特定的 csv 如果有 我想阅读它 如果没有 我想创建一个 df 并将其上传到 s3 到目前为止我做了什么 list of files for key in s3 client lis
  • 用于打开可执行文件并捕捉到桌面左上角的脚本

    我只是想知道在 bat 文件中 是否有一种方法可以调用外部 bat 文件 甚至是 exe 并使其打开 以便它 捕捉 到屏幕的左上角 Cheers 没有直接的方法可以从 Windows 命令提示符定位窗口 您基本上有以下选择 使用 GUI 自
  • 我无法在 symfony2 中创建包

    我有 Windows 7 和WAMP http www wampserver com en 驱动器上的本地主机D 我正确安装了 Symfony2 当我打开时http 127 0 0 1 Symfony web config php我可以看到
  • 元素当前不可见,因此可能无法与之交互

    目前我正在尝试解析一个示例网站 在该站点中 有一个设置为 display none 为了应用CSS效果 我的意思是事实上选择 组件可见 我怎样才能设置该html的值select成分 这是我的代码 WebElement element dri
  • Java:如何随机化数组列表而不重复

    import java util Random public class Sudoku int SquareNumbers 4 3 5 8 7 6 1 2 9 8 7 6 2 1 9 3 4 5 2 1 9 4 3 5 7 8 6 5 2
  • 3d 中点到线段的距离 (Python)

    我正在寻找可以计算 3D 中的点 x 0 y 0 z 0 到直线的距离的 Python 函数segment由其端点 x 1 y 1 z 1 和 x 2 y 2 z 2 定义 我只找到了这个问题的 2D 解决方案 There are solu
  • 如何在 SSIS 中使用 OLE DB 连接变量

    有没有办法使用用户定义的变量来定义 SSIS OLE DB 连接的连接字符串 1 我最初将其设置为使用包参数 2 我在SQL存储过程中使用xp cmdshell从文件执行SSIS包 但发现包参数是只读的 我收到此错误 更改变量的值失败 因为
  • Clojure:函数的完全限定名称

    在 Clojure 中 是否有一种更优雅的方法来查找函数的完全限定名称 已知具有元信息 defn fully qualified name fn let fn meta meta fn fn ns ns name ns fn meta st
  • 如何使用 TabLayout Android Design 创建带有图标的应用栏?

    我正在尝试使用 android 设计库中的新 TabLayout 来创建带有图标的应用程序栏 public void setupTabLayout TabLayout tabLayout tabLayout setTabMode TabLa
  • 在 TypeScript 中淘汰 observableArray

    在 TypeScript 类中初始化 Knockout observableArray 的正确方法是什么 我正在做这样的事情 module ViewModel declare var ko export class IndexPageVie