Тема: Vue' thread 1
Показать сообщение отдельно
  #65 (permalink)  
Старый 21.10.2016, 17:56
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Cyber, как напишешь - таки будет) Я раньше по похожему делал, но хотелось нормального автокомплита, в итоге сделал так:

import iData from '../i-data/i-data';
import * as tpls from './b-button.ss';
import { PARENT } from '../i-block/i-block';
import { model } from '../../core/block';

@model(tpls)
export default class bButton extends iData {
	/**
	 * Button type
	 */
	type: string = 'button';

	/**
	 * Connected form id
	 */
	form: ?string;

	/**
	 * Input autofocus mode
	 */
	autofocus: ?boolean;

	/**
	 * Icon before text
	 */
	preIcon: ?string;

	/**
	 * Icon after text
	 */
	icon: ?string;

	/**
	 * Tooltip text
	 */
	hint: ?string;

	/**
	 * Tooltip position
	 */
	hintPos: ?string;

	/** @override */
	static mods = {
		rounding: [
			'none',
			['small'],
			'normal',
			'big'
		],

		theme: [
			PARENT,
			'dark',
			'light',
			'icon'
		]
	};

	/* @override */
	created() {
		this.initCloseHelpers();
	}
}


Декоратор матчит класс и генерит компонент, а инфа о типах пропсов берётся из Flow аннотаций.
__________________
kobezzza
code monkey
Ответить с цитированием