Posted at

Vue.jsを仮想ウインドウ化するモジュールをnpmに登録してみる


Vue.jsを仮想ウインドウ化するモジュールをnpmに登録してみる


1.動作画面

 

見ての通り、Vue.jsを仮想ウインドウ化してみました。

内容的には大したことはしていません。

以前作成したJavaScript-Window-Framework(JWF)にVueのコンポーネントをマウントする処理を入れただけです。


2.使い方


モジュールのインストール

npm -D i @jswf/vue

 npmでjwfスコープを取りたかったのですが、すでに取得済みだったようなのでjswfになっています。

 そのうちJWF本体をこちらのスコープに移すかもしれません。

 ちなみにnpmのスコープ登録の仕方を知ったのは最近になってからです。


サンプルコード

以下はrouterを有効にしたテンプレートに、必要なコードを追加したものです。


main.ts

import Vue from 'vue';

import App from './App.vue';
import router from './router';
import { VueWindow } from '@jswf/vue';

Vue.config.productionTip = false;

new Vue({router, render: (h) => h(App)}).$mount('#app');

//---------------------
//Create Virtual Window
const win = new VueWindow(
new Vue({router,render: h => h(App)})
);

win.setTitle('WindowTest'); //タイトル設定
win.setPos(); //位置を中心に揃える
//---------------------



3.まとめ

 JWF自体はウインドウ生成や子ウインドウの配置を主にしているフレームワークなので、クライアント領域に表示するコンテンツには干渉しない形になっています。そのためJWFに標準機能として付いているTreeViewやListViewは、かなり大きめのコードになっています。この状態で機能を追加しようと思ったら、自由はききますが、がっつりコードを書かなければなりません。今回はVue.jsを入れることによって、Vueのコンポーネントを簡単に持ってこられるようにしました。これでユーザからの入出力が頻繁に起こる部分の作成がかなり楽になると思います。