2014-10-04 6 views
0

my-form не iLoadChangedполимер не связывает снаружи

<my-form iDB="{{iDB}}" iLoad="{{iLoad}}"></my-form> 
    <catalog-1 iDB="{{iDB}}"></catalog-1> 
    <my-database iDB="{{iDB}}" iLoad="{{iLoad}}"></my-database> 

Но это работает, когда я ставлю my-database внутри my-form?

моя форма

<polymer-element name="my-form" attributes="iDB iLoad"> 
    <template> 
     ... 
     <my-database iDB="{{iDB}}" iLoad="{{iLoad}}"></my-database> 
    </template> 
    <script> 
     Polymer('my-form', { 
      iLoad:false, 
      iDB:null, 

      iLoadChanged:function(){ 
       console.log('Hello?') 
      }, 

моя-база

<polymer-element name="my-database" attributes="iDB iLoad iDrop"> 
    <script> 
     Polymer('my-database', { 
      iDB:null, 
      iLoad:false, 
      ready:function(){ 
       var load=function(){ 
        this.iLoad=true 
        console.log('iLoad',this.iLoad) 
       }.bind(this) 
       var request = indexedDB.open("my-database",1); 
       request.onupgradeneeded = function(e) { 
        var db = e.currentTarget.result 
        var store = db.createObjectStore("store", {keyPath: "muts", autoIncrement:false}) 
        //store.createIndex("by_submit", "submit", {unique: false}) 
        console.log('db upgrade', 'v'+db.version) 
       } 
       request.onerror = function(e) { 
        //var db = e.currentTarget.result; 
        //db.close() 
        console.error('db error ',e) 
       } 
       request.onsuccess = function(e) { 
        var db = e.currentTarget.result 
        db.onversionchange = function(e) { 
         db.close() 
         console.log('db changed', 'v'+db.version, 'CLOSED') 
        } 
        console.log('db setup', 'v'+db.version, 'OK') 
        load() 
       } 
       this.iDB=request 
      }, 
      iDrop: function() { 
       this.iDB.result.close() 
       var req = indexedDB.deleteDatabase(this.iDB.result.name); 
       req.onsuccess = function() {console.log("Deleted database successfully")} 
       req.onerror = function() {console.log("Couldn't delete database")} 
       req.onblocked = function() {console.log("Couldn't delete database due to the operation being blocked")} 
      } 
     }) 
    </script> 
</polymer-element> 

Как я могу заставить его работать снаружи my-form?

ответ

0

Необходимо использовать полимерную обертку.

<polymer-element name="my-wrapper"> 
    <my-form drawer iDB="{{iDB}}" iLoad="{{iLoad}}"></my-form> 
    <catalog-1 main iDB="{{iDB}}" page="{{page}}" muts="{{muts}}"></catalog-1> 
    <my-database iDB="{{iDB}}" iLoad="{{iLoad}}"></my-database> 
    ... 
+1

Вы видели '