Polymer - 迭代模板中的对象

2023-12-11

根据聚合物文档,可以使用以下方法迭代对象或数组repeat中的声明<template>:

“表达式”可以是一个简单的标识符、路径或完整表达式(包括对象和数组文字)。

然而,经过测试后,重复语句似乎只适用于数组,而不适用于对象:

http://jsbin.com/oqotUdE/4/edit

我做错了什么吗?


我最近遇到了这个问题,并通过使用返回的过滤器解决了这个问题Object.keys(obj)。下面是如何执行此操作的简单示例(也许有更好的方法,如果是的话,请赐教)...

<template repeat="{{item in obj | getKeys}}">
  <span>Key: {{item}}</span>
  <span>Value: {{obj[item]}}</span>
</template>

...etc...

<script>
Polymer('my-element', {
  // yes i know, instantiate arrays/objects in the created method,
  // but this is just an example
  obj : {}, 

  // my custom filter function to use in looping objects
  getKeys : function(o){
    return Object.keys(o);
  }

});
</script>

当然,您可以变得更复杂,检查数据类型并确保它是一个对象。下面是一个递归版本,循环遍历无限嵌套对象(同样,如果有更简单的方法,请告诉我)

<template if="{{obj}}" id="root" bind="{{obj as o}}">

  <ul>

    <template repeat="{{item in o | getKeys}}">
      <li>

        <span class="key">{{item}}</span>

        <template if="{{o[item] | isNotObject}}">
          <span class="value">{{o[item]}}</span>
        </template>

        <template if="{{o[item] | isObject}}">
          <template ref="root" bind="{{o[item] as o}}"></template>
        </template>

      </li>
    </template>

  </ul>

</template>

...etc...

<script>
Polymer('object-view', {

  obj : {},

  getKeys : function(o){
    return Object.keys(o);
  },

  isObject : function(v){
    return typeof(v) === "object";
  },

  isNotObject : function(v){
    return typeof(v) !== "object";
  }

});
</script>

这当然有效(对我来说),循环遍历对象(和数组, 实际上)。虽然,我对使用并不完全满意Object.keys。很快我会很高兴看到聚合物中对对象迭代的支持。

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

Polymer - 迭代模板中的对象 的相关文章

  • CSS 内边框?

    我纯粹用 CSS 创建了左侧的按钮 它是一个div 中的一个div 然而 右侧的三个按钮是background属性于img标签 我这样做是为了按照以下说明模拟翻转效果here http kyleschaeffer com best prac
  • 在 Cordova 中合并文件的多个部分

    在我的 Cordova 应用程序中 我正在下载任意文件 例如图像或视频文件 这是通过 Cordova 文件传输插件和 Range 标头完成的 因为我需要分段下载文件 我的问题是 我想将几 个小 字节 文件合并回原来的文件中 他们曾经在其中使
  • Twitter Bootstrap - 下拉菜单 - 箭头键不适用于 Firefox 中的输入标签

    要求 我想在带有用户名和密码字段的下拉菜单中放置一个登录表单 我可以做到这一点 除了以下问题之外 一切正常 Issue 打字时我无法使用箭头键 上 下 firefox 当输入位于下拉代码之外时 这很有效 这适用于其他浏览器 例如 googl
  • 为动态加载的 HTML 内容触发 Bootstrap JS 行为

    我正在动态加载包含 Bootstrap 标记的 HTML 模板 但是 Bootstrap Javascript 行为不会应用于加载的内容 例如 如果加载的内容包含 Bootstrap 模式的标记 则该模式将无法正确运行 有没有办法可以触发
  • jslint 配置 |传递全局变量

    我如何提醒 jshint 我有全局变量 即命名它们 我知道你可以做到这一点 但我不记得语法了 我在这里定义了一个全局的 function window glob1 local var 稍后像这样使用 不同的 IIFE function gl
  • setTimeout范围问题

    我在控制玩家重生的函数内部定义了一个 setTimeout 我正在创建一个游戏 var player death function this alive false Console log death var timer3 setTimeo
  • Angular UI-Router:多个 URL 到单一状态

    我已经开始使用 Angular 的 ui router 并且我正在尝试弄清楚如何让多个 URL 引用单个状态 例如 orgs 12354 overview retyrns the same pages as org overview 我的
  • 如何按时间间隔翻转div

    您好 请看这个脚本并告诉我如何按时间间隔翻转 A B 和 C div 我希望A先翻转然后停止 B接下来翻转并停止 然后C然后再次回到A B和C 就像循环一样 然后重新开始 这在 CSS3 中可能吗 在此代码中 所有 div 同时翻转 HOL
  • 未捕获的异常:数据表编辑器 - 不允许远程托管代码

    我正在尝试使用 Datatables 使用 datatableseditor 来实现 CRUD 操作 但是我收到错误消息 1 未捕获的异常 数据表编辑器 不允许远程托管代码 请参见http editor datatables net有关如何
  • 使用 Javascript/Node.js 在代码内执行 mongoimport

    node js javascript 中是否有任何库可供个人使用mongoimport在代码中 据我了解 mongoimport 有点像 exe 您必须先执行它 然后才能使用其文本输入环境 是否可以在我的代码中执行 mongoimport
  • ES6 静态方法引用 self? [复制]

    这个问题在这里已经有答案了 我有两节课 存储库和用户存储库 我想在 Repository 中定义一个静态方法 该方法在运行时调用 UserRepository 中的静态函数 有什么干净的方法可以做到这一点吗 class Repository
  • 在循环中调用 setTimeout 未按预期工作

    下面的 JavaScript 应该 在我看来 以 0 5 秒的间隔播放一系列音符 但它会将它们全部作为一个同时的和弦来演奏 知道如何修复它吗 function playRecording if notes length gt 0 for v
  • 使用 nockjs 和 jest 进行 Promise/异步单元测试的代码覆盖率问题

    我使用 NockJS 和 Jest 为 React 应用程序编写了一个简单的 API 调用单元测试 如下所示 AjaxService js export const AjaxService post url data headers gt
  • 居中

    我的问题 http i56 tinypic com ff3jmo png http i56 tinypic com ff3jmo png 项目符号点未对齐 我要做的只是 text align center ing ul 所在的类 我可以对齐
  • 如何使用 Javascript 在 html 文件中搜索字符串?

    我有 5 个 html 文件 并且有一个搜索表单 我想用它来搜索这些 html 文件中的文本
  • 条件类型定义

    如果我有一小段这样的代码 template
  • 什么时候可以使用Javascript,什么时候不可以?

    不使用太多 javascript jquery 是个好习惯吗 我们应该尽可能避免它 为了良好的可访问性 吗 什么时候可以使用 JavaScript 什么时候不能在网页设计和开发中使用 JavaScript 在什么场景 什么条件下 Updat
  • 如果 jquery 验证激活,如何在单选按钮中放置红色边框[重复]

    这个问题在这里已经有答案了 我的问题是 如果 jquery 验证像示例图片中那样激活 我无法使单选按钮具有红色边框 任何人都可以帮我解决这个问题吗 http i38 photobucket com albums e149 eloginko
  • 如何使用 jQuery 过滤 DropDownList 中的选项

    我有 2 个 DropDownList 第一个 DropDownList 有 4 个选项 第二个 DropDownList 有 20 个选项 我想要一个选项value 1在第一个 DropDownList 中选择我在第二个 DropDown
  • 在 Meteor 应用程序中实现 MongoDB 2.4 的全文搜索

    我正在考虑向 Meteor 应用程序添加全文搜索 我知道 MongoDB 现在支持此功能 但我对实现有一些疑问 启用文本搜索功能的最佳方法是什么 textSearchEnabled true 在 Meteor 应用程序中 有没有办法添加索引

随机推荐

  • 连接到套接字时似乎无法实现超时

    我正在尝试为 connect 提供超时 我四处搜寻 发现了几篇与此相关的文章 我已经编写了我认为应该有效的代码 但不幸的是我没有收到 getsockopt 报告的错误 但是当我执行 write 时 它失败了 错误号为 107 ENOTCON
  • BLOB URL 的自定义名称

    我们有一个 Angular 应用程序 它获取一些输入参数并将它们发送到后端进行处理 处理结果是一个pdf文件 我们要在新选项卡中打开 执行此操作的代码类似于以下内容 myService getDocument document then f
  • 为什么我的 jquery ajax 表单在第一次提交时提交一次,在第二次提交时提交两次......?

    我有一个简单的 AJAX 表单 当我提交它时它可以正常工作 但是 如果我随后将新数据输入到同一表单中 不刷新页面 那么它会提交表单两次 如果我第三次这样做 那么它会提交三次表单 依此类推 它为什么要这样做 这是我的代码 document r
  • OHLC 聚合器不适用于 pandas 上的数据框?

    我不确定这是一个错误还是设计使然 也许我遗漏了一些东西 并且 ohlc 聚合器不应该与数据帧一起工作 也许这种行为是设计使然 因为除了索引列和价格列之外的数据框可能会产生奇怪的结果 其他聚合器 mean stdev 等 使用数据帧 无论如何
  • JSoup - 选择所有评论

    我想使用 JSoup 从文档中选择所有评论 我想做这样的事情 for Element e doc select comment System out println e 我已经尝试过这个 for Element e doc getAllEl
  • Python 脚本无法通过 Cron 运行?

    我有一个运行另一个 python 脚本的 python 脚本 其他脚本 正在运行的脚本 需要大约 45 分钟 才能完成 当 执行 脚本从 Ubuntu 的 shell 运行时 一切都运行良好 我向 cron 添加了一个条目来运行 执行 py
  • rvest:给定多个列表,返回空节点的 NA

    我对 R 相当陌生 特别是使用它进行网页抓取 因此非常感谢任何帮助 我目前正在尝试挖掘一个包含多个门票列表的网页 并列出其中一些门票的附加详细信息 例如视野不佳或仅供儿童使用的门票 我想提取此数据 为不包含这些详细信息的票证列表留下空格或
  • 如何保护 Azure Blob 存储 URL 不被任何使用开发人员工具的人检索

    我必须将图像 视频保存在天蓝色的 blob 中 然后在我的网站中使用它们 经过一些研究后 我发现您必须在 href 标记中包含 blob url 才能从 azure 检索图像 视频 然而 任何人都可以打开该网站页面并获取该 blob url
  • 使用 VBA 从 Excel 工作表发送多个附件

    我有现有的代码可以从 Excel 文件中的工作表发送邮件 Sub CreateMail Dim objOutlook As Object Dim objMail As Object Dim rngTo As Range Dim rngSub
  • python filter() 函数,以 None 作为过滤器参数

    Input list filter None abs 123 sdf Output abs 123 sdf 据我了解None means no value 在 python 中 但在上面的情况下 过滤函数如何删除空字符串 我很困惑None在
  • 基本数组比较算法

    我正在尝试遵循此处找到的步骤比较两个数组 并知道何时创建新对象 但我只是不明白它是如何工作的 您最终会得到两个已排序的数组 其中一个传递了员工 ID 放入获取请求中 并包含匹配的托管对象 他们 要处理它们 您可以在这些之后遍历排序列表 脚步
  • 如何在 python 中取消引用 urlencoded unicode 字符串?

    我有一个像 Tan m 这样的 unicode 字符串 它以某种方式编码为 Tan u0131m 我怎样才能把这个编码字符串转换回原来的unicode 显然 urllib unquote 不支持 unicode uXXXX 是一个非标准编码
  • 无法获取授权对话框以使用 Google Apps 脚本显示

    我有一个 Google Apps 脚本 我一直在研究它来管理活动资源 它运行良好 我正在使用 API 并使用我的 Python 代码更新工作表 然后 我添加了通过电子邮件通知用户视频已准备好获得批准的功能 我已经看到授权对话框并允许脚本使用
  • 资产管道未预编译 sass

    我已经更新了我的应用程序以使用 Rails 3 1 资产管道 我认为 我可以编译 css 文件 但不能编译 css scss 我正在运行 sass rails gem 但似乎没有任何效果 我应该检查什么 抱歉 我不知道应该在这里提供哪些信息
  • 将 js 变量传递给 html 文件 GAS - BASIC

    我正在尝试将一个变量 单元格 A1 中的我的名字 从我的 code gs 传递到我的 Index html 并通过电子邮件发送 有人可以告诉我我做错了什么或指出我正确的方向吗 Code gs function doGet return Ht
  • 当模态 UIImagePickerController 被关闭时 UIView 通知?

    当模态视图完成关闭时 有没有办法调用代码 EDIT 抱歉 我没早说清楚 我试图关闭 UIImagePickerController 然后显示 MFMailComposeViewController 并将图像数据附加到电子邮件 当我尝试打电话
  • Android GPS数据获取和过滤,如何改进位置信息

    我开始处理 Android 2 1 HTC Hero 上的 GPS 数据 并查看有关卡尔曼滤波器和适合位置数据的最小二乘法的主题 在使用手机接收和记录 GPS 数据时 我发现如果保持在原位置 偏差很小 但移动时坐标非常准确 问题来了 get
  • 如何使用Android SDK监控GPS适配器的状态?

    我需要让我的应用程序监控 GPS 适配器是否启用或禁用 我并不关心当前是否运行实际的 GPS 功能 我需要 GPS 适配器的状态 我可以通过调用手动执行此操作 String providers Settings Secure getStri
  • 使用 join、group by、having、order by 进行序列化

    如何使用 ORM 编写这个查询 SELECT p id p name COUNT c id counter FROM Posts p LEFT JOIN Comments c ON c post id p id WHERE p rating
  • Polymer - 迭代模板中的对象

    根据聚合物文档 可以使用以下方法迭代对象或数组repeat中的声明