Добавить новый класс JS и шаблон в проект aurelia - PullRequest
0 голосов
/ 26 июня 2018

Я новичок в Аурелии, но работаю над существующим проектом и учусь на ходу. Я хочу добавить файл класса javascript и сделать так, чтобы NPM включил его в сборку, но я не могу найти четкую документацию о том, как это сделать.

Это не сложный класс и не требует HTML-шаблон.

Ответы [ 2 ]

0 голосов
/ 28 июня 2018

в соответствии с соглашением, вы можете создать класс со следующим ...

export class MyClass {
    myProperty = 'foo';
    myOtherProperty = { key:'value' };

    constructor() {
        // constructor stuff (optional of course)
    }

    myMethod() {
        // do something
    }
}

Тогда в вашей ViewModel, например ...

import { inject } from 'aurelia-framework';
import { MyClass } from 'path/to/my-class';

@inject(MyClass)
export class MyViewModel {
    constructor(myClass){
        this.myClass = myClass;
    }

    attached() {
        console.log(this.myClass.myProperty);
        this.myClass.myMethod();
    }
}

То, как вы импортируете свой класс, зависит от того, написан он как модуль или нет. Если это не модуль, вам придется написать его как @ john-little упомянутый.

MyClass автоматически будет одиночным, пока вы не сделаете его переходным (см. https://aurelia.io/docs/fundamentals/dependency-injection#object-lifetime-child-containers-and-default-behavior)

0 голосов
/ 27 июня 2018

Просто добавьте файл .js, содержащий ваш класс, в папку src и добавьте следующее, чтобы импортировать его в файл, который вы собираетесь использовать в классе.

import * as MyClass from './my-classs';
...