首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在web组件中设置标签的内部文本

如何在web组件中设置标签的内部文本
EN

Stack Overflow用户
提问于 2014-11-25 21:50:34
回答 2查看 1.2K关注 0票数 1

我正在使用x-tag。这是我正在编写的代码。我需要将这些div框的内容设置为自定义元素属性值的值。有可能做到这一点吗?我试着设置它,但我得到错误“未定义不是一个函数”。

代码语言:javascript
复制
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>
EN

回答 2

Stack Overflow用户

发布于 2016-02-19 07:57:24

您可以进一步简化此过程,因为您不需要更改设置器中的productName:

代码语言:javascript
复制
xtag.register('x-navbar', {
  content: function() {/*
  <div>
    <div id="box1"></div>
    <div id="box2"></div>
    <div id="box3"></div>
  </div>
*/},
  accessors: {
    productName: {
      attribute: {},
      set: function (name) {
        this.querySelector('#box1').textContent = name;
      }
    }
  }
});

您可以像这样使用它:

代码语言:javascript
复制
<x-navbar product-name="Testing 123">hii</x-navbar>

请注意,属性名必须是productName product-name的dasherized版本。这将呈现为:

代码语言:javascript
复制
hii
Testing 123

在元素的内容hii之后添加模板<div>结构。

票数 1
EN

Stack Overflow用户

发布于 2015-11-29 01:48:47

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

代码语言:javascript
复制
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;
                }
            },
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27128509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档