1- import * as Vue from 'vue'
1+ import Vue = require ( 'vue' )
22import Component from '../lib/index'
33
44@Component ( {
55 props : {
66 propMessage : String
7- }
7+ } ,
8+ template : `
9+ <div>
10+ <input v-model="msg">
11+ <p>prop: {{propMessage}}</p>
12+ <p>msg: {{msg}}</p>
13+ <p>helloMsg: {{helloMsg}}</p>
14+ <p>computed msg: {{computedMsg}}</p>
15+ <button @click="greet">Greet</button>
16+ </div>
17+ `
818} )
919class App extends Vue {
1020 propMessage : string
21+
22+ // inital data
1123 msg : number = 123
24+
25+ // use prop values for initial data
1226 helloMsg : string = 'Hello, ' + this . propMessage
1327
1428 // lifecycle hook
@@ -25,30 +39,12 @@ class App extends Vue {
2539 greet ( ) {
2640 alert ( 'greeting: ' + this . msg )
2741 }
28-
29- render ( h : Vue . CreateElement ) {
30- return (
31- h ( 'div' , [
32- h ( 'input' , {
33- domProps : { value : this . msg } ,
34- on : {
35- input : ( event : any ) => {
36- this . msg = event . target . value
37- }
38- }
39- } ) ,
40- h ( 'p' , [ 'prop: ' , this . propMessage ] ) ,
41- h ( 'p' , [ 'msg: ' , this . msg ] ) ,
42- h ( 'p' , [ 'helloMsg: ' , this . helloMsg ] ) ,
43- h ( 'p' , [ 'computed msg: ' , this . computedMsg ] ) ,
44- h ( 'button' , { on : { click : this . greet } } , [ 'Greet' ] )
45- ] )
46- )
47- }
4842}
4943
5044// mount
5145new Vue ( {
5246 el : '#el' ,
53- render : h => h ( App , { props : { propMessage : 'World!' } } )
47+ components : {
48+ App
49+ }
5450} )
0 commit comments