2016-05-26 2 views
0

Я пытаюсь преобразовать ЯШ:scalajs прототип Собственость на JS объекта

// var XComponent = document.registerElement('x-component', { 
    // prototype: Object.create(HTMLElement.prototype, { 
    //  createdCallback: { 
    //  value: function() { 
    //  var root = this.createShadowRoot(); 
    //  var template = document.querySelector('#template'); 
    //  var clone = document.importNode(template.content, true); 
    //  root.appendChild(clone); 
    //  } 
    //  } 
    // }) 
    // }); 

в scalajs:

import org.scalajs.dom.document 


object XComponent { 

    implicit class ExtendedDom(x: html.Document) { 

    def registerElement(name:String, obj: js.Object): Unit = js.native 

    } 

} 

class XComponent { 

    import XComponent._ 

    val xComponent = document.registerElement("x-component", js.Object { 

    .. 

    }) 


} 

Не уверен, что делать прототип собственности ..?

+0

Hum ... ничего особенного. То, как оно используется здесь, похоже на любое другое поле любого объекта. Поэтому просто создайте свойство с именем 'prototype'. – sjrd

ответ

0

Как об этом ...

import org.scalajs.dom.{document, html} 

import scala.scalajs.js 

object XComponent { 

    implicit class ExtendedDom(x: html.Document) { 

    def registerElement(name:String, obj: js.Object): Unit = js.native 

    } 

} 


class XComponent { 

    import XComponent._ 

    val xComponent = document.registerElement("x-component", js.Object { 

    val prototype = js.Object.create(
     js.Object{ 
     val createdCallback = js.Object{ 
      def value = { 
      var root = //this.createShadowRoot(); 
       ... 
      } 
     } 
     } 
    ) 
    }) 
} 
Смежные вопросы