聚合物核心-ajax 元素 vs XHR
Polymer core-ajax element vs XHR
我从 Polymer 开始,遇到了 core-ajax 元素。我想知道它的典型用例是什么——为什么使用元素而不是普通的 XHR
我真正不明白的是为什么它是一个元素。现在我想我缺少一些基本的想法,ajax 需要在 DOM 中,因为 (..?..),或者像这样更容易,因为 (..?.. )
在大多数情况下,这只是一个偏好问题,一种没有真正 "right" 答案的 imperative vs declarative 辩论。
Web 组件的一大优点是封装的潜力。通常,要获得像样的跨浏览器 XHR,您必须使用某种专用库,或者使用 jQuery 或类似的 "kitchen sink" 框架。
通过使用 ajax 网络组件,您可以轻松地将 AJAX 功能直接构建到您自己的组件之一中,或者当将其包含在页面上时,您可以轻松地将 XHR 结果绑定到另一个元素或组件,避开通常的 page ready -> execute XHR -> handle Promise -> output results
过程,当页面上的多个元素使用动态加载的数据时,该过程会变得乏味。
具体而言,使用 iron-ajax
组件还有一些其他好处。它有内置的请求去抖动和 loading
属性 可以方便地在页面上显示加载指示器。这些不是专用库无法做到的事情,但是当您经常使用 Polymer/web 组件时,您会很自如地处理具有复杂行为的元素。
我从 Polymer 开始,遇到了 core-ajax 元素。我想知道它的典型用例是什么——为什么使用元素而不是普通的 XHR
我真正不明白的是为什么它是一个元素。现在我想我缺少一些基本的想法,ajax 需要在 DOM 中,因为 (..?..),或者像这样更容易,因为 (..?.. )
在大多数情况下,这只是一个偏好问题,一种没有真正 "right" 答案的 imperative vs declarative 辩论。
Web 组件的一大优点是封装的潜力。通常,要获得像样的跨浏览器 XHR,您必须使用某种专用库,或者使用 jQuery 或类似的 "kitchen sink" 框架。
通过使用 ajax 网络组件,您可以轻松地将 AJAX 功能直接构建到您自己的组件之一中,或者当将其包含在页面上时,您可以轻松地将 XHR 结果绑定到另一个元素或组件,避开通常的 page ready -> execute XHR -> handle Promise -> output results
过程,当页面上的多个元素使用动态加载的数据时,该过程会变得乏味。
具体而言,使用 iron-ajax
组件还有一些其他好处。它有内置的请求去抖动和 loading
属性 可以方便地在页面上显示加载指示器。这些不是专用库无法做到的事情,但是当您经常使用 Polymer/web 组件时,您会很自如地处理具有复杂行为的元素。