javascript - 如何在Web组件中设置标签的内部文本

标签 javascript html web-component custom-element x-tag

我正在使用x标签。这是我正在处理的代码。我需要使用自定义元素属性值的值设置这些div框的内容。是否有可能做到这一点?我尝试设置它,但出现错误“未定义不是函数”。

var template = xtag.createFragment(function(){/*
  <div>
    <div id="box1"></div>
    <div id="box2"></div>
    <div id="box3"></div>
  </div>
*/});

xtag.register('x-navbar', {
  lifecycle: {
    created: function() {
      this.appendChild(template.cloneNode(true));
      this.getElementById("#box1").innerHTML = this.productName;
    },
  accessors: {
    productName: {
      attribute: {},
      get: function(){
        return this.getAttribute('productName') || "";
      },
      set: function(value){
        this.xtag.data.header.setAttribute('productName',value);
      }
    }
  }
});

<x-navbar productName="Box 1">hii</x-navbar>

最佳答案

您可以像这样编写属性支持访问器。您无需手动尝试设置属性。由于它将自身更新为从get函数返回值。

accessors: {
            productName: {
                attribute: {},
                get: function () { return this._productName; },
                set: function (value) { 
                     this._productName = value;
                     // MANUPLATE YOUR HTML IN HERE
                     this.getElementById("#box1").innerHTML = this.productName;
                }
            },
}

关于javascript - 如何在Web组件中设置标签的内部文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27128509/

相关文章:

javascript - 使用 ng-show 禁用标签,但不禁用 AngularJS 中的内容

javascript - 请解释一下如何使这个高阶函数起作用

javascript - AngularJS 2 和网络组件、模拟和 polyfill

javascript - 如何传递子 DOM 节点来 react 样式组件

javascript - Backbone.js:将事件绑定(bind)到模板按钮

javascript - 动画 Accordion 背景

html - col-md-# 组件的居中内容

html - 为什么放置标题时表格边框不会折叠?

jquery - 纯 CSS3/HTML5 可折叠菜单?这可能吗?

angular - 将 Assets 翻译文件嵌入到 Angular Web 组件中