gpt4 book ai didi

titanium - Titanium 中的集合单例或实例有什么区别?

转载 作者:行者123 更新时间:2023-12-03 23:26:53 27 4
gpt4 key购买 nike

在 Alloy 文档中,它提到您可以拥有一个集合的单例或实例。您可以使用实例标签定义一种或另一种方式:

<Alloy>
<Collection id="localLibrary" src="book" instance="true"/>
<Window>
<TableView id="table" />
</Window>
</Alloy>

我理解单例 vs 实例背后的一般思想......但我不明白以一种或另一种方式将它暴露给 Controller 的直接优势/应用。

具体来说,这个 Controller 代码有什么区别:
var library = Alloy.Collections.book;
library.fetch();

和这个 Controller 代码:
var library = $.localLibrary;
library.fetch();

是说“捕获所有”而不是“只捕获这个”吗?

任何澄清都会很棒,tia。

最佳答案

不同的是Alloy.Collections.instance("book")将创建一个全局单例实例(或返回一个现有的...),这意味着您将能够使用 Alloy.Collections.book 在所有 Controller 中访问它。 .你可以用 Models 做同样的事情.

你为什么要这样做?我认为如果您可以在子窗口中的某个位置访问和操作已加载到例如第一个窗口的 TableView 中的数据,这将非常有用...

全局可访问的单例:

var library = Alloy.Collections.book; // <Collection src="book"/>
library.fetch();

本地实例:
var library = $.localLibrary; // <Collection id="localLibrary" src="book" instance="true"/>
library.fetch();

关于titanium - Titanium 中的集合单例或实例有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22139147/

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