2015-07-11 6 views
1

HTMLКак получить значение атрибута в полимере?

<my-element username="{{params.username}}"></my-element> 

Элемент

<dom-module id="my-element"> 
    <style> 
    :host { 
     display: block; 
    } 
    </style> 
    <template> 
    </template> 
    <script> 
    (function() { 
    Polymer({ 
     is: 'my-elemnt', 

     ready: function(){ 
     // get attribute value 
     }); 
    })(); 
    </script> 
</dom-module> 

я могу получить доступ к атрибуту из шаблона, но не знаю, как к нему доступ с помощью JavaScript.

+1

у вас есть опечатка Тхо: <дом-модуль ID = «мой-элемент»>, является: «моим-elemnt», –

ответ

3

внутри элемента было бы this.username, но вам может понадобиться добавить, что свойства для его работы

Polymer({ 
    is: 'my-element', 
    properties: { 
    username: { 
     type: Object, 
     observer: '_updateUsername' 
    } 
    }, 
    _updateUsername: function() { 
    // use this.username 
    } 
}); 
+0

я не определен, нет te атрибут username - это объект, а не строка. Если я преобразую его в строку, он работает, но не как объект. – jamjam

+0

изменить тип на объект –

+0

nope еще неопределенный испугался. – jamjam

1
<link rel="import" href="polymer/polymer.html"/> 
<dom-module id="my-element" username> 
    <style> 
     :host { 
      display: block; 
     } 
    </style> 
    <template> 
     <p>{{username.name}}</p> 
    </template> 

</dom-module> 
<script> 
    (function() { 
     Polymer({ 
      is: 'my-elemnt', 
      properties: { 
       username: { 
        type: Object, 
        notify: true 
       } 

      }, 
      ready: function() { 
       console.log(this.username); 
      } 
     }); 
    })(); 
</script> 

Если вы не объявили свойство будет LOG - неопределенные
Для более подробная информация о новой декларации пути проверке - https://www.polymer-project.org/1.0/docs/devguide/properties.html

+0

Erm. Этот ответ определенно неверен. Во-первых, добавление атрибута 'username' внутри тега' 'является неправильным синтаксисом. Кроме того, установка 'notify: true' для свойства' username' используется для распространения изменений ** вверх ** - это не имеет никакого отношения к доступу к собственному свойству. – zerodevx

Смежные вопросы