2015-03-19 4 views
2

Я попытался преобразования функции в строку и передать его, как показано ниже:Как передать объект функции к элементу Polymer из JavaScript

var myfunc = function (name) { 
    alert('It works!' +name); 
} 

var as_string = myfunc.toString(); 

var contentHtml = "<my-element post='{\"value\":\"" + target.value.toString() + "\",\"update\":\"" + as_string + "\"}'></my-element>" 

Но это не преобразуя его в строку правильно. Когда я проверил в Дев инструментов Он появился, как показано ниже:

<my-element style="z-index:2998; width:700px;" post="{"value":"USUNCLM","update":"function (name) { 
        alert("It works!' +name); }"}'></my-element> 

Преобразование функции работает в JS Fiddle прилагается здесь: https://jsfiddle.net/kavyapenujuru/L0m95396/

Есть ли другой способ передать функцию полимерного элемента? Или любые другие способы улучшения моего решения?

ответ

1

Вот Polymer рабочий пример: Plunk

Определить объект JavaScript в родительском элементе:

domReady: function() { 
     // Animal properties and method encapsulation 
     this.animal = { 
      type: "Invertebrates", // Default value of properties 
      displayType : function(){ // Method which will display type of Animal 
      console.log(this.type); 
      alert(this.type); 
      } 
     } 
    }, 

передать его дочернего элемента:

<my-dynamic_element 
      animal='{{animal}}'> 
    </my-dynamic_element> 

использовать его внутри ребенка элемент:

domReady: function() { 
     console.log('in Dynamic:'); 
     this.animal.displayType(); 
    }, 

Обратите внимание, когда передача объектов деформировать атрибуты в одинарных кавычках:

obj_attr='{{obj_attr}}' 
+0

Моей родительской страница не является полимер element.It только через HTML page.I я связывание моего полимерный элемента из яваскрипта страницы. Как связать его динамически здесь. Я уже импортировал my-элемент на мою страницу html, хотя я получаю [Object object] –

+0

Использование внешних полимерных элементов: