Polymer 1.0 观察者 - 不在数组上工作

2024-01-03

我设置了一个观察者来捕获数组属性上的所有聚合物识别事件,但我捕获它来捕获更改。在下面的示例中,我的观察者函数“bigup”仅在属性“bigs”首次初始化时才会被调用。

<dom-module id="parent-page">
<template>
    <paper-button on-click="updateAll">Update</paper-button>
</template>
<script>
    var temp=[];
    temp.push({'conversation':[{'message':'hello'}]});

    Polymer({
        is: 'parent-page',
        properties: {
            bigs: {
                type: Array,
                value: temp
            }
        },
        observers: [
            'bigup(bigs.*)'
        ],
        updateAll: function(){
            this.bigs.push({'conversation':[{'message':'hola'}]});
            console.dir(this.bigs);
        },
        bigup: function(){
            console.log('big Up');
        }
    });
</script>

我也尝试在观察者中使用 bigs.push 但没有成功。我不明白的一部分是,如果我将以下行添加到我的“updateAll”函数中,观察者会捕获更改并触发“bigup”。

this.bigs=[];

For me 本文 https://www.polymer-project.org/1.0/docs/devguide/properties.html#array-observation也很有帮助,它涵盖了注册观察者的方法以及 Justin XL 建议的拼接方法。

注册观察员:

properties: {
    users: {
      type: Array,
      value: function() {
        return [];
      }
    }
  },

  observers: [
    'usersAddedOrRemoved(users.splices)'
  ],

CallingPolymer 1.0 方式的拼接方法:

this.push('users', 'TestUser');

https://www.polymer-project.org/1.0/docs/devguide/properties.html#array-observation https://www.polymer-project.org/1.0/docs/devguide/properties.html#array-observation

仅供参考 - 这不适用于所有情况(我最初的想法)当您在属性声明中注册观察者时,如下所示:

 properties: {
        users: {
          type: Array,
          value: function() {
            return [];
          },
          observer: 'usersAddedOrRemoved'
        }
      },

在这种情况下usersAddedOrRemoved仅当您将新数组分配给 users 对象时才会调用方法。然而,当你通过压入、弹出、拼接等方式改变数组时,它不会触发。

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

Polymer 1.0 观察者 - 不在数组上工作 的相关文章

随机推荐

  • 为什么简单的 Dockerfile 给出“权限被拒绝”?

    我正在学习将 Docker 与 ROS 结合使用 我对以下错误消息感到惊讶 FROM ros kinetic robot xenial create non root user ENV USERNAME ros RUN adduser in
  • 如何在 Entity Framework Core 中调用带有多个表联接的存储过程?

    我必须调用一个从多个表中选择记录的存储过程 我已尝试以下代码 但它为实体类以外的其他表中的列返回 null private async Task
  • 子+父参考SQL

    我正在尝试编写一个查询来显示项目的名称和父项目的名称 但到目前为止还没有提供正确的方法 CREATE TABLE project p id NUMBER 6 project name VARCHAR2 30 client id NUMBER
  • 如何使用div代替表格

    我正在尝试创建以下表格布局 但我想使用 DIV 而不是 TABLE CELL1 CELL2 CELL3 我希望所有单元格的高度由其内容设置 即没有高度 样式 我尝试过在 cell1 上使用 float left 但似乎无法让单元格 2 和
  • Mac OS X Java 更新的源代码[重复]

    这个问题在这里已经有答案了 Java for Mac OS X 10 6 Update 3 升级到 java 1 6 0 22 但是 它们不包含源代码或 JavaDoc 有谁知道苹果是否提供了源代码 如果是 在哪里可以找到它 我想将源代码附
  • 增加值并将其设置为 onClick 事件的 var

    我面临着一个非常奇怪的问题 导致感觉就像 无论你如何 首先这是代码 renderImages gt let i 0 const arr https truffle assets imgix net pxqrocxwsjcc 6OcJeUMa
  • MySQL If Date 语句?

    有没有办法通过 mysql 查询返回 true 或 false 我有一张桌子 id start 4 2012 03 01 00 00 00 8 2012 01 20 00 00 00 我也想回来TRUE如果当前日期大于开始日期并且FALSE
  • 有没有办法允许用户提交 html 内容,同时仍然启用模型验证?

    我需要允许用户在其文本输入中提交包含 html 的表单值 这是一个面向内部的应用程序 因此这样做相当安全 我已经成功地使用了 ValidateInput false 有关方法的属性 但这会抑制all对相关方法 视图模型进行模型验证 但我只想
  • 如何像 jsfiddle.net 中那样调整多个相邻文本区域的大小?

    如何像jsfiddle net网站那样通过在区域1 2和3上拖动鼠标来调整textarea的大小 我的代码是 HTML div fieldset div class window top A div div class handler ho
  • 正则表达式仅匹配字符串以目标结尾的情况

    我需要一个正则表达式 它仅与以我要查找的目标结尾的字符串匹配 我需要找到具有特定扩展名的文件 问题是该扩展名也出现在其他文件中 例如我有两个文件名为 B82177 2014 07 08T141507758Z ccf and B82177 2
  • iPhone SDK WebRTC 集成错误

    安装时WebRTC我的 iOS 项目出现以下错误 Undefined symbols for architecture i386 OBJC CLASS RTCICECandidate referenced from objc class r
  • 没有 if-else 语句的一维卷积(非 FFT)?

    我编写了一个简单的串行一维卷积函数 如下 我也在尝试 GPU 卷积实现 这主要是出于我自己的好奇心 我正在尝试了解各种非 FFT 实现策略之间的性能权衡 避免分支对于我的 GPU 卷积实验非常重要 因为分支在 Nvidia GPU 上的成本
  • JavaScript 中的二进制到字符串

    我创建了一个 JavaScript 程序来将字符串转换为二进制 Input StackOverflow Output 1010011 1110100 1100001 1100011 1101011 1001111 1110110 11001
  • 将图表添加到 d3 中的工具提示

    我正在尝试向我的工具提示添加一个简单的条形图 它由两个变量组成 男性和女性 我希望有人能够帮助我将其放入工具提示中 而不是将其附加到当前附加的位置 我已经给了它一个要附加的特定区域 以便我知道它实际上正在显示 确实如此 但我不知道如何将其放
  • 使用 Python 请求选择表单

    我想使用一个能够填写表单和处理重定向的 python 库 主页 页面有一个表单 username user password pass 重定向 页面将我带到一个新页面 新 页面有一个指向最终页面的链接 最终 页面有一个表单 Field 1
  • cygwin - 无法执行二进制文件

    我正在尝试从我的 C 代码运行这两个 data 文件来完成我的作业 我已获得所有文件 并且仅用于实现程序的一些功能 所有内容都应该能够运行 make 命令进行编译 我以前运行的是 MAC 只是刚刚开始使用 Windows win 7 因为工
  • 通过 Node js 进行 ffmpeg mp3 流传输

    var fs require fs var child require child process var http require http var input file fs createReadStream remo mp3 http
  • 如何去除html中点击按钮周围的边框?

    我最近开始建立一个网站 并开始在上面制作按钮 但是 每当我单击该按钮时 我都会看到一个蓝色边框 例如this https i stack imgur com 6TGIX jpg 我应该如何摆脱这个边界 提前致谢 将此 css 添加到您的按钮
  • 移动屏幕锁定时广播接收器不会触发

    当我安装该应用程序时 一切正常 每次发送消息时 我都可以打印消息正文 直到锁定手机屏幕 之后 应用程序停止打印传入消息 我尝试了很多方法来克服这个问题 但没有成功 请帮我 public class SmsReceiveActivity ex
  • Polymer 1.0 观察者 - 不在数组上工作

    我设置了一个观察者来捕获数组属性上的所有聚合物识别事件 但我捕获它来捕获更改 在下面的示例中 我的观察者函数 bigup 仅在属性 bigs 首次初始化时才会被调用