将具有数据绑定的“动态”元素添加到我的聚合物元素中

2023-12-09

几天来,我尝试为聚合物提供一些“动态”元素:)不幸的是没有成功...... 我的目标是在运行时添加一个元素,并通过聚合物数据绑定(以“自然”聚合物方式)用内容填充它。没有另一个建议的解决方法堆栈溢出答案.)

请看一下这个小提琴中的代码(https://jsfiddle.net/mkappeller/ken9Lzc7/)或在这个问题的底部。 我真的希望任何人都能够帮助我。 了解将来是否有办法做到这一点也会有所帮助......?


window.addEventListener("WebComponentsReady", function() {
  var myAppModule = document.getElementById("my-app");
  var myApp = document.getElementsByTagName("my-app")[0];

  myApp.set("global", {
    text: "Init"
  });
});
<base href="https://polygit.org/components/">
<script src="webcomponentsjs/webcomponents-lite.min.js"></script>
<link href="polymer/polymer.html" rel="import">
<link rel="import" href="paper-button/paper-button.html">
<link rel="import" href="paper-input/paper-input.html">

<dom-module id="my-app">
  <template>
    <paper-input label="global.text" value="{{global.text}}"></paper-input>
    <paper-button raised id="addHeadline">Add Headline</paper-button>
    <paper-button raised id="changeText">Change Text</paper-button>
    <p>global.text: &lt;{{global.text}}&gt;</p>
  </template>
  <script>
    Polymer({
      is: "my-app",
      properties: {
        global: {}
      },
      ready: function() {
        this.count = 0;

        this.$.addHeadline.addEventListener("click", () => {

          var myApp = Polymer.dom(document.getElementById("my-app"));

          var t = myApp.node.childNodes[1];

          var heading = document.createElement("h1");
          heading.textContent = "{{global.text}}";

          // Append to my-app
          Polymer.dom(this.root).appendChild(heading);
        });
        this.$.changeText.addEventListener("click", () => {
          this.set("global.text", "count-" + this.count++);
        });
      }
    });
  </script>
</dom-module>
<my-app></my-app>

我几乎通过使用得到了它Polymer.Templatizer行为。不幸的是,似乎存在一些错误或我的错误,导致父级的更新无法应用于动态创建的模板。我将在 GitHub 上提出问题。

<base href="https://polygit.org/components/">
<script src="webcomponentsjs/webcomponents-lite.min.js"></script>
<link href="polymer/polymer.html" rel="import">
<link rel="import" href="paper-button/paper-button.html">
<link rel="import" href="paper-input/paper-input.html">

<dom-module id="my-app">
  <template>
	<paper-input label="global.text" value="{{global.text}}"></paper-input>
	<paper-button raised id="addHeadline" on-tap="addHeadline">Add Headline</paper-button>
	<paper-button raised id="changeText" on-tap="click">Change Text</paper-button>
	<p>global.text: &lt;{{global.text}}&gt;</p>
	
	<template if="true" is="dom-if">
	  <div>      
		dom-if: <input type="text" value="{{global.text::input}}" />
	  </div>
	</template>
  </template>
  <script>
	Polymer({
	  is: "my-app",
	  behaviors: [ Polymer.Templatizer ],
	  properties: {
		global: {
		  value: { text:'i' },
		  notify: true
		}
	  },
	  ready: function() {
		this.count = 0;
		
        // this ensures that global.text is updated when text changes
		this._instanceProps = {
			text: true
		};
	  },
	  addHeadline: function() {
		
		this.template = document.createElement("template");
		var templateRoot = document.createElement('div');
		templateRoot.innerHTML = `<h1>{{text.text}}</h1><input type="text" value="{{text.text::input}}" />`;
        // you cannot just set innerHTML in <template>
		this.template.content.appendChild(templateRoot);
		
		this.templatize(this.template);
		var clone = this.stamp({
		  text: this.global
		});

		// Append to my-app
		Polymer.dom(this.root).appendChild(clone.root);
	  },
	  click: function() {
		this.set("global.text", "count-" + this.count++);
	  },
	  _forwardInstanceProp: function(inst, p, val) {
		debugger;
	  },
	  _forwardInstancePath: function(inst, p, val) {
        // notify parent's correct path when text.text changes
		this.set(p.replace(/^text/, 'global'), val);
	  },
	  _forwardParentProp: function(prop, value) {
		debugger;
	  },
	  _forwardParentPath: function(prop, value) {
		debugger;
	  }
	});

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

将具有数据绑定的“动态”元素添加到我的聚合物元素中 的相关文章

  • .push() 将多个对象放入 JavaScript 数组中返回“未定义”

    当我将项目添加到beats数组然后console log用户时 我得到了数组中正确的项目数 但是当我检查 length 时 我总是得到 1 尝试调用索引总是会给我 未定义 如下所示 Tom beats 1 我想我错过了一些明显的东西 但这让
  • 如何使用 Playwright 使用选择器查找框架 (iframe)

    我有一个小问题 无法找到使用 Microsoft Playwright 框架的答案 根据您可以使用以下代码获取 iframe const frame page frame frame login 但是如何使用选择器来查找 iframe 并与
  • nodejs (libuv) 事件循环是否在一个阶段(队列)中执行所有回调,然后再进入下一阶段或以循环方式运行?

    我正在研究 Node js 中 libuv 提供的事件循环 我遇到了关注 Deepal Jayasekara 的博客 https blog insiderattack net event loop and the big picture n
  • IntersectionObserver是否支持水平滚动观察?

    我制作了几个垂直滚动 IntersectionObserver 模块 但我对水平滚动感兴趣 根将是 div 观察目标将是 img 我想观察当 img 放大但 div 保持视口宽度时的变化 我什至不确定移动 Safari 是否会将缩放后的图片
  • ReactTransitionGroup 不适用于 React-redux 连接组件

    我正在开发一个更大的项目 但我创建了这个简短的示例来说明问题 如果我使用Box组件 它的工作原理 它在控制台中输出componentWillEnter and componentWillLeave当我们点击按钮时 如果我使用BoxConta
  • 如何使用 Greasemonkey 监视静态 HTML 页面的更改?使用哈希?

    我希望我的 Greasemonkey 脚本仅在其访问的静态页面具有与以前完全相同的内容时运行 现在我可以设置一个包含该页面哈希的变量 我正在寻找一种动态散列页面的方法 以便我可以将我的散列与生成的散列进行比较 关于如何即时实现散列的任何想法
  • React autoFocus 将光标设置为输入值的开头

    我有一个受控输入 最初显示一个值 我已将该输入设置为自动聚焦 但当我希望它出现在末尾时 光标出现在输入的开头 我知道这可能是因为自动对焦是在值之前添加的 但我不能 100 确定 在输入字段末尾完成光标初始化的最佳方法是什么 var Test
  • 如何通过单击链接来更改 div 的内容?

    这是我的网页的 修改后的 jsfiddle 它还有很多 而且定位是正确的 与此相反 http jsfiddle net ry0tec3p 1 http jsfiddle net ry0tec3p 1 a href class btn1 st
  • React Router v4 不渲染组件

    React Router v4 渲染组件存在问题 在应用程序初始加载时 它将呈现与 URL 相对应的正确组件 但是 任何后续的组件Link单击不会呈现所需的组件 图书馆 反应路由器 4 2 2 https reacttraining com
  • onclick 事件中未调用函数

    我想在每个 YouTube 链接的末尾添加一些 HTML 以在 litebox 中打开播放器 到目前为止 这是我的代码 document ready function var valid url new RegExp youtube com
  • JavaScript RegEx:不同的结果:使用字符串和使用正则表达式“文字”构建模式?

    使用 RegExp 文字与字符串之间有什么区别吗 http jsfiddle net yMMrk http jsfiddle net yMMrk String prototype lastIndexOf function pattern p
  • 使用javascript动态更新css内容

    需要将 css 更新为动态值 我不确定最好的方法是什么 div style zoom 1 div 缩放级别将根据窗口大小调整触发 应用程序将相应缩放 我将此应用程序加载到 cordova 中并让它在 iPAD 中运行 然后我意识到需要使用
  • 使用 next.js 进行服务器端渲染与传统 SSR

    我非常习惯 SSR 意味着页面得到完全刷新并从服务器接收完整 HTML 的方法 其中根据后端堆栈使用 razor pub other 进行渲染 因此 每次用户单击导航链接时 它只会向服务器发送请求 整个页面将刷新 接收新的 HTML 这就是
  • 使用 Enzyme 测试 `React.createRef` api

    我想测试下面的类 它使用React createRef api 不过 快速搜索并没有发现任何这样做的例子 有人成功过吗 我该如何嘲笑裁判 理想情况下我想使用shallow class Main extends React Component
  • react-native - 图像需要来自 JSON 的本地路径

    你好社区 我正在react native中开发一个测试应用程序 并尝试从本地存储位置获取图像 我实际在做什么 我将图像直接链接源提供给 var 并在渲染函数中调用此方法 react 0 14 8 react native 0 23 1 np
  • Flot 库将 y 轴设置为最小值 0 和最大值 24

    如何将 y 轴设置在 0 到 24 的范围内 这是我的代码 j plot j placeholder d1 xaxis mode time min new Date 2010 11 01 getTime max new Date 2011
  • 仅当显式选择行时才关闭 ui-bootstrap typeahead

    我创建了这个jsBin http jsbin com livuqafe 2 edit来证明我遇到的问题 如果您转到此处 请尝试输入 五 并继续 你的自然反应是输入 五 然后按 Tab 如果你想要 五百 你可以向下箭头一次 但是 在这种情况下
  • 测量窗口偏移

    有没有一种方法可以测量 jQuery 中窗口的偏移量 以便我可以比较 固定 元素和相对定位元素的位置 我需要能够知道窗口滚动了多远 以便我可以使用该图来计算固定元素的高度 相对于视口顶部 和相对对象的高度 相对于顶部 之间的差异文件的内容
  • 没有输入的 jQuery 日期选择器

    我有一个相当复杂的网络应用程序 我想向其中添加一些日期选择 UI 我遇到的问题是我无法从文档中弄清楚如何真正控制日期选择器的出现方式和时间 不涉及任何表单元素 不 我不会添加秘密表单字段 因此简单的开箱即用方法根本行不通 我希望有人可以提供
  • 禁用允许文本选择的

    残疾人可以吗

随机推荐

  • 电子重建内发生未处理的错误

    我正在尝试使用 Sqlite3 重建我的 ElectronJS 应用程序 我已经安装了 Python VS 开发工具 但它仍然给我错误 我的 Package json name hello version 1 0 0 description
  • django中如何区分首次注册用户和常规登录用户

    我所有的工作都使用 django allauthsignin signup and logout功能和工作正常 现在我有一个功能 1 当用户第一次注册并登录时 我需要将他重定向到成功页面 验证页面 success 2 当已经注册的用户登录时
  • 使用 boost::spirit 以任意顺序解析命名参数

    我正在为一种输入文件编写一个解析器 输入文件看起来像 CalculationBlock CalculationTitle Test Parser Input System MatchingRadius 25 0 StepSize 0 01
  • 如何使用 solc 0.5 编译 Solidity

    编译 js const path require path const solc require solc const fs require fs extra const buildPath path resolve dirname bui
  • 当我打印新值时,我得到以前的浮点值

    我正在得到输出0 23从第二个printf 但类型转换给出了所需的输出 如果我不使用类型转换 则会打印先前的值 编译器版本是GCC 6 3 include
  • 如何分析 .net 垃圾收集器?

    我想知道如何分析垃圾收集器的性能并监控三代 我想知道是否有可能在任何时间点知道当前对象生活在什么地方gen0 gen1 gen2 你可以得到PerfMon 中有关 GC 性能的有用信息 但没有你想要的那么细化 NET内存性能有很多 计数器
  • 如何让 geom_errorbar 在 ggplot2 的条形图上正确“闪避”?

    我正在尝试制作带有误差线的分组条形图 但是 我无法使误差条看起来正确 即比主条更薄 并且位置正确 位于条的中心 这position选项和position dodge 似乎工作不正常 我不明白为什么 根据其他类似问题的例子 这应该有效 我正在
  • mybatis中动态使用HashMap进行参数映射

    好的 这有点重新发布这个问题使用 ibatis 将 HashMap 值插入表 但我正在寻找一种不同的方式 答案对我不起作用 DB1GetStudentDataMapper xml 这查询一个数据库
  • 在 Laravel 4 的 Eloquent 中使用枢轴模型数据作为与另一个模型的关系

    我有一个用于多对多关系的数据透视表 其中包括另一个模型的第三个索引参数 我希望能够使用 Eloquent 来访问这个模型 在我的应用程序中 我有一个User谁可以拥有很多Subjects还有很多Semesters 当用户拥有Subject
  • 当选择另一个单选按钮时,如何将其更改为“选中”?

    我希望你们能帮我解决这个问题 我怎样才能有一个单选按钮id A 将其属性更改为 已检查 当单选按钮id B 被选中 单选按钮 A 和 B 位于不同的组中 Thanks
  • 如何编写反汇编程序? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我有兴趣编写一个 x86
  • Yii CMultiFileUpload 选择多个文件

    得到了答案 将多个文件上传到数据库进行注册 已经尝试了很多方法来使用 CMultiFileUpload 小部件使多个文件上传可行 我已经检查并关注了以下链接 http www yiiframework com forum index php
  • safeUnbox() 无法反转

    我试图消除 Android 应用程序的所有警告 其中之一是 viewModel value 是一个装箱字段 但需要取消装箱才能执行 android checked 这可能会导致 NPE 因此数据绑定将安全地拆箱它 您可以更改表达式并使用 s
  • 太阳能标签云

    我似乎陷入了 Solr 分面支持的标签云的逻辑背后 首先 我使用 OpenNLP 解析我的文档并从中获取相关单词 因此每个文档都被分成 n 个单词 我的 Solr 响应基本上是这样的
  • 是否为容器启用?

    有没有办法禁用容器内的所有控件 例如网格 谢谢你 UPD 虽然Silverlight的Grid有IsEnabled属性 但Windows Phone 7 Grid肯定没有IsEnabled属性 对于 Silverlight 我在网格周围添加
  • 如何创建位图形式的Drawable对象

    我正在为 Android 开发自定义视图 为此 我希望让用户能够选择和使用图像 就像使用时一样ImageView In attr xml我添加了以下代码
  • 拖动源容器时,jsPlumb 源端点不会移动

    Using jsPlumb 其中在可拖动内部的细分之间创建键absolute定位的容器称为 projects 这些都出现在一个大型通用容器中 container 代码中设置为默认容器jsPlumb Defaults Container co
  • PY2EXE 编译 Python 代码运行速度更快吗?

    我真的很喜欢 PY2EXE 模块 它确实帮助我与其他同事共享脚本 这些脚本对他们来说非常易于使用 我的问题是 当 PY2EXE 模块将代码编译为可执行文件时 生成的可执行文件处理速度是否更快 感谢您的回复 py2exe 只是将 Python
  • 测试开关中的多种情况,例如 OR (||)

    你会如何使用switch case当你需要测试时a or b在同样的情况下 switch pageid case listing page case home page alert hello break case details page
  • 将具有数据绑定的“动态”元素添加到我的聚合物元素中

    几天来 我尝试为聚合物提供一些 动态 元素 不幸的是没有成功 我的目标是在运行时添加一个元素 并通过聚合物数据绑定 以 自然 聚合物方式 用内容填充它 没有另一个建议的解决方法堆栈溢出答案 请看一下这个小提琴中的代码 https jsfid