-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path01.html
202 lines (201 loc) · 3.86 KB
/
01.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>task01</title>
<script src="vue/vue.js"></script>
<script src="https://unpkg.com/[email protected]/dist/axios.min.js"></script>
<script src="https://unpkg.com/[email protected]/lodash.min.js"></script>
</head>
<body>
<div id="app">
<p>{{message}}</p>
</div>
<div id="app-2">
<span v-bind:title="message">悬停几秒看信息</span>
</div>
<div id="app-3">
<p v-if="seen">现在你看到我了</p>
</div>
<div id="app-4">
<ul>
<li v-for="todo in todos">
{{todo.text}}
</li>
</ol>
</div>
<div id="app-5">
<p>{{message}}</p>
<button v-on:click="reverseMessage">逆转消息</button>
</div>
<div id="app-6">
<p>{{message}}</p>
<input type="text" v-model="message">
</div>
<div id="app-7">
<ol>
<todo-item v-for='item in groceryList' v-bind:todo='item'></todo-item>
</ol>
</div>
<div id="app-8" v-html='rawHtml'>
</div>
<div id="app-9">{{message.split('').reverse().join('')}}</div>
<div id="app-10">
<p>Original message:'{{message}}'</p>
<p>Computed reversed message:'{{ reversedMessage }}'</p>
</div>
<div id="app-11">
<p>{{firstName+" "+lastName}}</p>
</div>
<div id="app-12">
<p>
Ask a yes/no question:
<input v-model="question">
</p>
<p>{{answer}}</p>
</div>
<script>
var app=new Vue({
el:'#app',
data:{
message:'Hello Vue.js! 04122017'
}
})
var app2=new Vue({
el:'#app-2',
data:{
message:'页面加载于'+new Date()
}
})
var app3=new Vue({
el:'#app-3',
data:{
seen:true
}
})
var app4=new Vue({
el:'#app-4',
data:{
todos:[
{ text:'学习 JS'},
{ text:'学习 vue'},
{ text:'整个牛项目'}
]
}
})
var app5=new Vue({
el:'#app-5',
data:{
message:'Hello Vue.js'
},
methods:{
reverseMessage:function (){
this.message = this.message.split('').reverse().join('')
}
}
})
var app6=new Vue({
el:'#app-6',
data:{
message:'Hello Vue!'
}
})
// 定义一个新组件
Vue.component('todo-item',{
props:['todo'],
template:'<li>{{todo.text}}</li>'
})
var app7=new Vue({
el:'#app-7',
data:{
groceryList:[
{text:'蔬菜'},
{text:'奶酪'},
{text:'随便什么'}
]
}
})
var app8=new Vue({
el:'#app-8',
data:{
rawHtml:'<li>纯html</li>'
}
})
var app9=new Vue({
el:'#app-9',
data:{
message:'hello,Filters!'
},
filters:{
format:function(value){
value=value.toLowerCase()
return value.charAt(0).toUpperCase()+value.slice(1)
}
}
})
var app10=new Vue({
el:'#app-10',
data:{
message:'Hello'
},
computed:{
reversedMessage:function(){
return this.message.split('').reverse().join('')
}
}
})
var app11=new Vue({
el:'#app-11',
data:{
firstName:'Foo',
lastName:'Bar'
},
computed:{
fullName:{
get:function(){
return this.firstName+' '+this.lastName
},
set:function(newValue){
var names = newValue.split(' ')
this.firstName=names[0]
this.lastName=names[names.length-1]
}
}
}
})
var app12=new Vue({
el:'#app-12',
data:{
question:'',
answer:"i cannot give you an answer until you ask a question"
},
watch:{
question:function(newQuestion){
this.answer='waiting for you to stop typing^'
this.getAnswer()
}
},
methods:{
getAnswer:_.debounce(
function(){
var vm=this
if(this.question.indexOf('?')===-1){
vm.answer="questions usually contain a question mark"
return
}
vm.answer="thinking……"
axios.get('https://yesno.wtf/api')
.then(function(response){
vm.answer=_.capitalize(response.data.answer)
})
.catch(function(error){
vm.answer='Error could not reach the API'+error
})
},
500
)
}
})
</script>
</body>
</html>