Skip to content

Commit 888bef2

Browse files
committed
添加指令
1 parent 4d4d3ca commit 888bef2

File tree

7 files changed

+61
-12
lines changed

7 files changed

+61
-12
lines changed

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
#
22

3+
## 1.1.8
4+
5+
添加指令文件
6+
7+
## 1.1.7
8+
9+
更新声明文件模版
10+
311
## 1.1.5
412

513
vuex模块添加导出样式选项,开启后现在可以在类中直接使用xModule了而不用getModule(xModule);

README.md

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# vue-typescript-file 说明
22

3-
## 详细功能介绍
3+
## 详细功能介绍
44

55
较为详细的功能介绍和动图演示,请点击[csdn](https://blog.csdn.net/zz56138/article/details/102828867 "csdn详细说明")
66

@@ -9,18 +9,19 @@
99

1010
## 预览
1111

12-
![image](/images/create-component.gif)
12+
![image](/images/create-component.gif)
1313

1414
右击文件夹添加组件(right-click folder)
1515

1616
### 基本功能
1717

18-
1.添加vue typescript组件
18+
1.添加vue typescript组件
1919
2.添加vuex module子模块(请手动添加stroe目录,并在以下创建index.ts文件和modules目录)
20-
3.添加空的class文件
21-
4.添加空的enum文件
22-
5.添加空的interface文件
23-
6.添加全局的组件声明文件
20+
3.添加指令文件
21+
3.添加空的class文件
22+
4.添加空的enum文件
23+
5.添加空的interface文件
24+
6.添加全局的组件声明文件
2425
7.snippets
2526

2627
### snippets说明
@@ -64,3 +65,5 @@ vx-module 生成vuex 子模块模版
6465
"</v-ons-page>"
6566
]
6667
```
68+
69+
#### 有任何不足或需求请在github/csdn上留言(评论),谢谢

package.json

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
{
22
"name": "vue-typescript-file",
33
"displayName": "vue typescript files",
4-
"description": "在右击菜单中添加创建vue模版按钮",
5-
"version": "1.1.6",
4+
"description": "更方便的创建vue typescript组件,只需要右击文件夹,减少snippets的使用",
5+
"version": "1.1.8",
66
"icon": "images/icon.png",
77
"publisher": "ftrybe",
88
"author": {
99
"name": "cb Fan"
1010
},
1111
"engines": {
12-
"vscode": "^1.37.0"
12+
"vscode": "^1.43.0"
1313
},
1414
"categories": [
1515
"Other",
@@ -56,6 +56,11 @@
5656
"default": true,
5757
"description": "显示/隐藏添加通用全局声明按钮"
5858
},
59+
"vue-typescript-files.menu.directive": {
60+
"type": "boolean",
61+
"default": true,
62+
"description": "显示/隐藏添加指令按钮"
63+
},
5964
"vue-typescript-files.menu.class": {
6065
"type": "boolean",
6166
"default": true,
@@ -126,6 +131,10 @@
126131
"command": "extension.addDeclare",
127132
"title": "generate declare file"
128133
},
134+
{
135+
"command": "extension.addDirective",
136+
"title": "generate directive file"
137+
},
129138
{
130139
"command": "extension.addClass",
131140
"title": "generate class"
@@ -156,6 +165,11 @@
156165
"command": "extension.addDeclare",
157166
"group": "typescript support"
158167
},
168+
{
169+
"when": "config.vue-typescript-files.menu.declare",
170+
"command": "extension.addDirective",
171+
"group": "typescript support"
172+
},
159173
{
160174
"when": "config.vue-typescript-files.menu.class",
161175
"command": "extension.addClass",

src/enums/menu.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,6 @@ export enum Menu {
44
interface = "interface",
55
enum = "enum",
66
vuexModule = "vuex",
7-
declare = "declare"
7+
declare = "declare",
8+
directive = "directive"
89
}

templates/class.tmpl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
export class {{upperName}} {
22

33
}
4+
export default new {{upperName}}();

templates/declare.tmpl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
declare module '{{hyphensName}}' {
22
import { PluginFunction } from 'vue';
33
export const install: PluginFunction<{}>;
4-
export function {{upperName}} (): any;
4+
interface {{upperName}}{}
5+
export const {{upperName}}: {{upperName}};
56
}

templates/directive.tmpl

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import { DirectiveOptions, VNode } from 'vue';
2+
import { DirectiveBinding } from 'vue/types/options';
3+
export class {{upperName}} implements DirectiveOptions {
4+
bind(el: HTMLElement, binding: DirectiveBinding, vnode: VNode, oldVnode: VNode) {
5+
6+
}
7+
inserted(el: HTMLElement, binding: DirectiveBinding, vnode: VNode, oldVnode: VNode) {
8+
9+
}
10+
update(el: HTMLElement,binding: DirectiveBinding,vnode: VNode,oldVnode: VNode) {
11+
12+
}
13+
componentUpdated(el: HTMLElement,binding: DirectiveBinding,vnode: VNode,oldVnode: VNode) {
14+
15+
}
16+
unbind(el: HTMLElement,binding: DirectiveBinding,vnode: VNode,oldVnode: VNode) {
17+
18+
}
19+
20+
}
21+
export default new {{upperName}}();

0 commit comments

Comments
 (0)