2015-10-27 25 views
6

Ho un problema con customAttribute. Voglio usarlo per collegare jquery-ui datepicker. Idea presa da qui: http://www.danyow.net/jquery-ui-datepicker-with-aurelia/Aurelia customAttribute non funzionante

Tuttavia sembra che non funzioni affatto. Ho provato a eseguire il debug dell'applicazione e sembra che [email protected] non sia stato attivato. Tuttavia, il file stesso viene richiesto dal server. La cosa peggiore è che ho dovuto farlo funzionare ieri sera, ma la mattina di oggi ...

ho creato semplice esempio nella mia forcella di applicazione scheletro: https://github.com/Exsilium122/skeleton-navigation modo che sia pronto per essere clonato e correre per Risoluzione dei problemi.

Le più importanti due file:


welcome.html

<template> 
    <require from="./resources/datepicker"></require> 
    <input id="myDate" datepicker="datepicker" value.bind="timestamp | dateFormat"/> 
</template> 

datepicker.js

import {inject, customAttribute} from 'aurelia-framework'; 
import 'jquery-ui'; 
import 'jquery-ui/themes/cupertino/jquery-ui.css!'; 

@customAttribute('datepicker') 
@inject(Element) 
export class Datepicker { 
    constructor(element) { 
     this.element = element; 
    } 

    attached =() => { 
     console.log("attached Datepicker"); 
     $(this.element).datepicker({ 
      dateFormat: 'mm/dd/yy' 
     }).on('change', e => fireEvent(e.target, 'input')); 

    } 

    detached =() => { 
     console.log("detached Datepicker"); 
     $(this.element).datepicker('destroy').off('change'); 
    } 
} 

function createEvent(name) { 
    var event = document.createEvent('Event'); 
    event.initEvent(name, true, true); 
    return event; 
} 

function fireEvent(element, name) { 
    var event = createEvent(name); 
    element.dispatchEvent(event); 
} 

e la console è pulita:

DEBUG [aurelia] Caricamento plug-in http://localhost:9000/jspm_packages/github/aurelia/[email protected]. aurelia-logging-console.js: 38 DEBUG [aurelia] Plugin configurato http://localhost:9000/jspm_packages/github/aurelia/[email protected]. aurelia-logging-console.js: 38 DEBUG [aurelia] Caricamento plug-in http://localhost:9000/jspm_packages/github/aurelia/[email protected]. aurelia-logging-console.js: 38 DEBUG [aurelia] Plugin configurato http://localhost:9000/jspm_packages/github/aurelia/[email protected]. aurelia-logging-console.js: 38 DEBUG [aurelia] Caricamento plug-in http://localhost:9000/jspm_packages/github/aurelia/[email protected]. aurelia-logging-console.js: 38 DEBUG [aurelia] Plugin configurato http://localhost:9000/jspm_packages/github/aurelia/[email protected]. aurelia-logging-console.js: 38 DEBUG [aurelia] Caricamento plug-in http://localhost:9000/jspm_packages/github/aurelia/[email protected]. aurelia-logging-console.js: 38 DEBUG [aurelia] Plugin configurato http://localhost:9000/jspm_packages/github/aurelia/[email protected]. aurelia-logging-console.js: 38 DEBUG [aurelia] Caricamento plug-in http://localhost:9000/jspm_packages/github/aurelia/[email protected]. aurelia-logging-console.js: 38 DEBUG [aurelia] Plugin configurato http://localhost:9000/jspm_packages/github/aurelia/[email protected]. aurelia-logging-console.js: 38 DEBUG [aurelia] Caricamento risorse/indice plugin. aurelia-logging-console.js: 38 DEBUG [aurelia] Risorse plugin/indice configurate. aurelia-logging-console.js: 46 INFO [aurelia] Aurelia Started aurelia-logging-console.js: 38 DEBUG [templating] importazione di risorse per http://localhost:9000/dist/app.html ["nav-bar.html", "bootstrap/css/bootstrap. css "] aurelia-logging-console.js: 38 DEBUG [templating] importazione di risorse per http://localhost:9000/dist/nav-bar.html [] aurelia-logging-console.JS: 38 DEBUG [template] risorse importazione per http://localhost:9000/dist/welcome.html [ "http://localhost:9000/dist/resources/datepicker"]

risposta

6

attached =() => { doveva essere cambiato a attached() {, come discusso nel gitter.

Per il metodo detached sono necessarie modifiche corrispondenti.

Questa domanda può essere chiuso- l'OP ha ottenuto il problema risolto nel Gitter Aurelia.

3

appena fatto un:

  • clone dalla repo
  • npm installare JSPM
  • npm installare
  • jspm install -y

e congettura wh a. funziona :)

http://imagebin.ca/v/2KV4cFzITHtX

+0

btw. utilizzando Chrome versione 46.0.2490.71 m su windows – fops

+0

grazie per il vostro impegno. Ho combattuto con questo problema per un paio d'ore, quindi ho postato la domanda sullo stack e ho anche provato il gitter. Poi Jeremy Danyow mi ha aiutato. Ero così felice che ho dimenticato di tornare a impilare e chiudere la domanda. Quindi mi dispiace per aver sprecato il tuo tempo. Ancora una volta grazie per il tuo impegno. Ha funzionato perché ho corretto l'errore e impegnata nella repo. –

+0

np ... contento che funziona :) – fops