【问题标题】:What is the difference between this two syntax ko.observableArray([]) & ko.observableArray() knockout js这两种语法 ko.observableArray([]) & ko.observableArray() 淘汰js有什么区别
【发布时间】:2015-08-10 03:11:46
【问题描述】:

下面两种语法有什么区别

viewModel = {
    LoadedReports: ko.observableArray([]),
    Name: ko.observableArray()
}

这个ko.observableArray([])和这个ko.observableArray()是什么意思

当人们声明 observable Array 时只有括号,如 observableArray()

人们何时会选择ko.observableArray([])

需要一些知识。谢谢

编辑

我又看到了这个

state: ko.observable(),
states: ko.observableArray(),

那么ko.observable() & ko.observableArray() 和有什么区别?

【问题讨论】:

    标签: knockout.js


    【解决方案1】:

    它们是一样的, 使用方括号的唯一原因是用数据初始化数组

    loadedReports = ko.observableArray(['option','option2','etc']);
    

    【讨论】:

    • 换句话说,你刚刚用一个明确的空数组初始化了第一个示例,第二个是隐式的(Knockout 在后台处理它)。
    • 这行loadedReports = ko.observableArray([]);是什么意思
    • 这一行是什么意思 这行是什么意思loadedReports = ko.observableArray();是用null初始化吗?
    • @Mou 你去过knockout.js 网站吗?有很多文档和示例代码可以回答您在过去几天中提出的所有这些问题。
    【解决方案2】:

    就 decalration 而言,使用方面的差异很小。

    声明:

    LoadedReports: ko.observableArray() --> 空数组[]赋值

    LoadedReports: ko.observableArray([])-->空数组[]赋值

    用法:

    如果您想将一些数据分配给 observableArray onLoad,我们使用 [] 表示法,其中包含一些数据。

    示例 fiddle 演示了相同的

    ko.observable() 和 ko.observableArray() 的区别

    如果您想检测并响应一个对象的变化,您可以使用 可观察的。如果您想检测并响应 事物的集合,使用 observableArray。

    以上定义直接来自Docs,您可以参考here

    我建议您在进行任何类型的编码之前阅读完整的 ko 文档。

    【讨论】:

      猜你喜欢
      • 2013-12-04
      • 1970-01-01
      • 1970-01-01
      • 2012-04-05
      • 1970-01-01
      • 1970-01-01
      • 2013-09-08
      • 2019-03-31
      • 2020-01-22
      相关资源
      最近更新 更多