问题标签 [deferred-loading]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2309 浏览

c# - LINQ to SQL 延迟加载

数据库ML

我的 dbml 中有以下实体:(作为示例)

箭头是我的 dbml 中的关系。

一本书是一种媒体,一本书的一个实例具有一个媒体属性,该属性具有其中所有媒体共有的值。AuthorsForMedia 是一个包含 AuthorId、MediaId 和 AuthorsForMediaId 的交叉表。

询问

我在我的存储库中的获取查询是:

生成的对象设置了 book 属性,并设置了 media 属性及其所有值。

当我在调试时在 Watch 对话框中查看 AuthorsForMedia 时,设置了以下值:

问题 1

为什么不能通过延迟加载来评估 AuthorsForMedia 的值(以及相应的 Author 属性)?

我尝试过的事情

读完这个问题后:

我用 LoadWith/AssoicateWith 尝试了 DataLoadOptions,但它没有用。我最终遇到了类似的错误

  • 无法创建类 Foo 错误的实例:System.NotSupportedException:Book 类型的媒体不支持子查询
  • ... System.InvalidOperationException:指定的表达式必须采用 pA 的形式,其中 p 是参数,A 是属性或字段成员
  • 或者价值不存在

如果有帮助,我可以为所有这些提供代码片段,但我认为这是一个概念问题,而不是语法问题。

概括

我应该如何检索这些值,它应该是左连接还是我到目前为止还没有找到的其他东西?

0 投票
1 回答
3692 浏览

c# - 强制绑定到 DataSource 的复选框在尚未查看时更新

这是一个测试框架来显示我在做什么:

  1. 创建一个新项目
  2. 添加选项卡式控件
  3. 在标签 1 上放一个按钮
  4. 在选项卡 2 上放置一个复选框
  5. 粘贴此代码作为其代码

(使用控件的默认名称)

问题是,如果您运行程序并查看选项卡 2,然后按下选项卡 1 上的按钮,程序将按预期工作,但是如果您按下选项卡 1 上的按钮,然后查看选项卡 2,复选框的事件将不会触发,直到您看标签 2。

原因是选项卡 2 上的控件未处于“已创建”状态,因此在控件“已创建”之前,不会发生将复选框从未选中更改为已选中的绑定。

checkbox1.CreateControl() 没有做任何事情,因为根据MSDN

如果控件的 Visible 属性为 false,则 CreateControl 不会创建控件句柄。无论控件的可见性如何,都可以调用 CreateHandle 方法或访问 Handle 属性来创建控件的句柄,但在这种情况下,不会为控件的子级创建窗口句柄。

我尝试获取 Handle 的值(CheckBox 没有public CreateHandle()),但结果仍然相同。

除了让程序在第一次加载时快速闪烁我所有具有数据绑定复选框的选项卡之外的任何建议?

编辑——根据 Jaxidian 的建议,我创建了一个新课程

updating = true在与以前相同的结果之后,我立即调用 CreateHandle() 。

0 投票
1 回答
928 浏览

wpf - CollectionViewSource 的延迟/延迟加载?

CollectionViewSource当你在Resourcessection中创建a时,set是Source在资源初始化时(即Resourcesholder初始化时)还是数据绑定时加载?

有没有一种方法可以进行CollectionViewSource延迟加载?延迟加载?显式加载?

0 投票
1 回答
633 浏览

eclipse - 通过 DeferredTreeContentManager 延迟 Eclipse Treeviewer 加载

我知道有一种方法可以TreeViewer通过使用来延迟加载DeferredTreeContentManager,这是从这个有用的教程中学到的。

但是,这种机制需要模型实现IDeferredWorkbenchAdapter接口,这给我遗留的不可变模型类带来了问题。是否可以在DeferredTreeContentManager没有模型实现IDeferredWorkbenchAdapter接口的情况下使用?

0 投票
2 回答
770 浏览

jquery - 延迟加载 RadGrid 和 Firefox 中的奇怪错误

我在加载 RadGrid 时遇到了一些奇怪的问题。我想要完成的是延迟从 Web 服务加载用户控件。此技术在此链接上进行了说明:

http://encosia.com/2008/02/05/boost-aspnet-performance-with-deferred-content-loading

在资源管理器和 chrome 中工作正常,但不应用网格样式。在 Firefox 中,当我从客户端调用 Web 服务时,出现空白屏幕并且 firebug 显示错误:

未定义 RadGridNamespace

有任何想法吗?

0 投票
1 回答
9351 浏览

jquery - 了解 jQuery Deferred.pipe()

我正在尝试为以下场景实现 jQuery Deferred.pipe() 方法:

  1. 通过 $.ajax() 在数据库中添加用户
  2. 获取用户是否正确添加的响应。
  3. 如果添加成功,通过 $.ajax() 从服务器获取所有用户列表
  4. 通过 jQuery 模板显示列表

这是我尝试过的东西:

但这不起作用。我知道有什么遗漏或错误。有什么帮助吗?

0 投票
3 回答
2651 浏览

javascript - Javascript 非阻塞脚本,为什么不简单地将所有脚本放在标记之前?

为了避免javascript阻塞网页渲染,我们不能把所有要加载/执行的JS文件/代码都放在结束</body>标记之前吗?

所有的 JS 文件和代码只有在所有页面都被渲染后才会被下载和执行,所以需要像这篇文章中建议的关于非阻塞技术来加载 JS 文件的技巧。他基本上建议使用如下代码:

document.getElementsByTagName("head")[0].appendChild(script);

为了在让网页被渲染的同时延迟脚本加载,从而导致网页的渲染速度快。

但是如果不使用这种类型的非阻塞技术(或其他类似的技术)</body> ,我们不是通过简单地将我们所有的 JS 文件(要加载/执行)放在结束标记之前来实现相同的非阻塞结果吗?

我更加惊讶,因为作者(在同一篇文章中)建议将他的代码放在结束</body>标记之前(参见文章的“脚本放置”部分),所以他基本上是在结束</body>标记之前加载脚本。那么,他的代码需要什么?

我很困惑,任何帮助表示赞赏,谢谢!


更新

仅供参考,谷歌分析正在使用类似的非阻塞技术来加载他们的跟踪代码:

0 投票
4 回答
1938 浏览

javascript - 社交插件(Facebook、Twitter、Google)为我的网站增加了 3 秒的加载时间。推迟他们?

我知道您可以使用 defer="" html 属性来延迟 javascript 文件,但它仅在 IE (lol) 中受支持,并且只会延迟 javascript 文件,我需要延迟整个插件的加载。

有没有办法做到这一点?我喜欢 Facebook 集成等,但插件太慢了。它使加载时间增加了一倍以上。

谢谢!〜杰克逊

注意: .socialplugins 类仅用于在我的标题中定位。

0 投票
1 回答
2588 浏览

jquery - 按需加载图像(或;禁用加载隐藏图像)

我有一个类似滑块的小部件,它基本上是一个包含一些页面内容(连同图像)的子 div 的 div。

最初,所有子 div 都被隐藏,除了主要的。

我的问题是所有网络浏览器似乎都会加载(请求)内容中的所有图像,无论它们是否隐藏。

具体就我而言,它最终会一次加载大约 350 张图像。这很多,尤其是考虑到图像至少有200kb时。事实上,网络日志指定网站总大小在6mb 到 7mb的范围内。

所有这些图像都会阻碍页面加载,尤其是因为它们应该在其他页面元素(例如按钮等)之前加载。

我的问题的解决方案是什么?我已经尝试过的事情:

  • 将每个子 div 加载为 ajax。这是不可能的,页面内容必须一直存在。
  • 隐藏图像本身(希望网络浏览器不会加载它们)。这失败了,浏览器仍然使用 CSS 加载图像display:none;
  • 可能的解决方案:故意破坏标记(服务器端),以便浏览器不加载图像,例如;写作<img alt="abc.jpg" src="about:blank"/>,然后当标签交换机时,我会用jQuery正确修复标记。这个我还没试过,好用吗?
0 投票
2 回答
5973 浏览

gwt - GWT:延迟加载外部 JS 资源

我有一个依赖于一些外部 JS 文件的小部件,我想延迟加载所有这些外部资源。我已经使用代码拆分来延迟加载与小部件有关的 GWT 代码,但是使用标记在 gwt.xml 中定义的 JS 文件script无论如何都会被加载,这是不可取的。

是否有标准的 GWT 方式按需加载这些外部资源?我可以自己使用原始 JS 来完成,但我也不想花时间在这上面。