Skip to content

Commit 614738a

Browse files
authored
Merge pull request #3 from sveltejs-cn/ywl_branch
合并翻译
2 parents def55e6 + 242163d commit 614738a

31 files changed

+7036
-7
lines changed

SUMMARY.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,20 @@
33
* [开始之前](README.md)
44
* [第一章](chapter1/README.md)
55
* [section1](chapter1/section1.md)
6-
* [section2](chapter1/section2.md)
6+
* [section2](chapter1/section2.md)
7+
* [模版语法](chapter2/README.md)
8+
* [Classes](chapter2/Classes.md)
9+
* [Actions](chapter2/Actions.md)
10+
* [Transitions](chapter2/Transitions.md)
11+
* [Transition参数](chapter2/Transitions.md#Transition参数)
12+
* [自定义过渡函数](chapter2/Transitions.md#自定义过渡函数)
13+
* [Transition事件](chapter2/Transitions.md#Transition事件)
14+
* [Animations](chapter2/Animations.md)
15+
* [Animation参数](chapter2/Animations.md#Animation参数)
16+
* [自定义Animation函数](chapter2/Animations.md#自定义Animation函数)
17+
* [svelte:self](chapter2/svelte-self.md)
18+
* [svelte:component](chapter2/svelte-component.md)
19+
* [svelte:window](chapter2/svelte-window.md)
20+
* [svelte:body](chapter2/svelte-body.md)
21+
* [svelte:head](chapter2/svelte-head.md)
22+
* [svelte:options](chapter2/svelte-options.md)

_book/chapter1/component-format.md

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# 在开始之前:
2+
3+
注意:此文档目前还是半成品。如遇到缺失或有误导的部分敬请谅解,并且勇于在聊天室寻求帮助,这些教程会更加完善。那么,开始学习吧:
4+
5+
以下页面包含详细的API说明文档,主要是给已经初步接触过Svelte的人们提供的资源。
6+
7+
如果你还没有接触过Svelte,你可以在查阅这些资料前先访问这个可交互的教程或者例子。
8+
9+
# 组件格式
10+
11+
组件是Svelte应用的内置区块,是使用HTML的扩展格式的语言写成.svelte文件
12+
13+
一共分为三个区域、script、style和标签(选填)
14+
15+
## script
16+
17+
一个`script`区域含有一个组件实例创建时的运行Javascript代码。
18+
变量申明(或者引入的变量)在组件标签顶部显示申明。
19+
这里有4条规则:
20+
21+
1. export 用来申明组件的属性
22+
23+
Svelte 使用 export 这个关键字标识一个变量申明作为组件的属性prop,这意味着组件的使用者通过属性可以访问它。
24+
25+
赋值分配是响应式的
26+
27+
改变组件的state并触发组件重新渲染,只需要给本地的已申明变量赋值
28+
29+
使用表达式(count += 1)更新count的值和给属性赋值(obj.x = y)是等效的。
30+
31+
因为Svelte的响应式是基于赋值操作的,使用属性方法如 .push 和 .splice 将不会自动触发更新。有关解决此问题的选项,可以参考此教程
32+
33+
3 使用 $ 将表达式设为响应式的
34+
35+
任何顶层的表达式(不包含代码块和函数申明)可以通过一个$符号设置成响应式的。这是js的标签语法。当响应式表达式依赖的值发生变化时,它们会在组件更新前立即执行。
36+
37+
如果一个表达式是一条由完全未申明的变量组成的赋值语句,Svelte会替你插入一个let申明。
38+
39+
4 为Store添加$前缀来访问它们的值
40+
41+
任何时候,对于任意一个Store,你都可以在组件内部为该Store的引用添加$字符前缀来访问它的值。这会导致Svelte申明有前缀的变量,并且会设置一个Store订阅然后再适当的时候会取消这个订阅。
42+
43+
要注意,必须在组件的顶层申明Store,并且不可以包含在if代码块中
44+
45+
本地申明的变量(不代指store的值)不允许还有$前缀
46+
47+
## <script context="module">
48+
49+
一个带有`context="module"`属性的`<script>`标签的模块只会执行一次,而不是每次都生成组件实例。在此模块中申明的Values可以被正常的`<script>`标签访问到(包括组件标签)但是反之则无法这么使用。
50+
51+
你可以从此区块中 导出 这些绑定值,并且他们会成为编译的模块的导出值
52+
53+
你不能 export default 因为默认导出的是组件本身
54+
55+
56+
## <style>
57+
58+
写在`<style>`中的CSS与组件外部是隔离的
59+
60+
这个功能是通过给元素添加带有组件style哈希的class来实现的。eg(svelte-123xyz)
61+
62+
可以通过使用`:global(...)`修饰符将样式作用域全局
63+
64+

_book/chapter1/index.html

Lines changed: 227 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,232 @@
147147

148148
</li>
149149

150+
<li class="chapter " data-level="1.3" data-path="../chapter2/README.md">
151+
152+
<span>
153+
154+
155+
模版语法
156+
157+
</a>
158+
159+
160+
161+
<ul class="articles">
162+
163+
164+
<li class="chapter " data-level="1.3.1" data-path="../chapter2/Classes.html">
165+
166+
<a href="../chapter2/Classes.html">
167+
168+
169+
Classes
170+
171+
</a>
172+
173+
174+
175+
</li>
176+
177+
<li class="chapter " data-level="1.3.2" data-path="../chapter2/Actions.html">
178+
179+
<a href="../chapter2/Actions.html">
180+
181+
182+
Actions
183+
184+
</a>
185+
186+
187+
188+
</li>
189+
190+
<li class="chapter " data-level="1.3.3" data-path="../chapter2/Transitions.html">
191+
192+
<a href="../chapter2/Transitions.html">
193+
194+
195+
Transitions
196+
197+
</a>
198+
199+
200+
201+
<ul class="articles">
202+
203+
204+
<li class="chapter " data-level="1.3.3.1" data-path="../chapter2/Transitions.html">
205+
206+
<a href="../chapter2/Transitions.html#Transition参数">
207+
208+
209+
Transition参数
210+
211+
</a>
212+
213+
214+
215+
</li>
216+
217+
<li class="chapter " data-level="1.3.3.2" data-path="../chapter2/Transitions.html">
218+
219+
<a href="../chapter2/Transitions.html#自定义过渡函数">
220+
221+
222+
自定义过渡函数
223+
224+
</a>
225+
226+
227+
228+
</li>
229+
230+
<li class="chapter " data-level="1.3.3.3" data-path="../chapter2/Transitions.html">
231+
232+
<a href="../chapter2/Transitions.html#Transition事件">
233+
234+
235+
Transition事件
236+
237+
</a>
238+
239+
240+
241+
</li>
242+
243+
244+
</ul>
245+
246+
</li>
247+
248+
<li class="chapter " data-level="1.3.4" data-path="../chapter2/Animations.html">
249+
250+
<a href="../chapter2/Animations.html">
251+
252+
253+
Animations
254+
255+
</a>
256+
257+
258+
259+
<ul class="articles">
260+
261+
262+
<li class="chapter " data-level="1.3.4.1" data-path="../chapter2/Animations.html">
263+
264+
<a href="../chapter2/Animations.html#Animation参数">
265+
266+
267+
Animation参数
268+
269+
</a>
270+
271+
272+
273+
</li>
274+
275+
<li class="chapter " data-level="1.3.4.2" data-path="../chapter2/Animations.html">
276+
277+
<a href="../chapter2/Animations.html#自定义Animation函数">
278+
279+
280+
自定义Animation函数
281+
282+
</a>
283+
284+
285+
286+
</li>
287+
288+
289+
</ul>
290+
291+
</li>
292+
293+
<li class="chapter " data-level="1.3.5" data-path="../chapter2/svelte-self.html">
294+
295+
<a href="../chapter2/svelte-self.html">
296+
297+
298+
svelte:self
299+
300+
</a>
301+
302+
303+
304+
</li>
305+
306+
<li class="chapter " data-level="1.3.6" data-path="../chapter2/svelte-component.html">
307+
308+
<a href="../chapter2/svelte-component.html">
309+
310+
311+
svelte:component
312+
313+
</a>
314+
315+
316+
317+
</li>
318+
319+
<li class="chapter " data-level="1.3.7" data-path="../chapter2/svelte-window.html">
320+
321+
<a href="../chapter2/svelte-window.html">
322+
323+
324+
svelte:window
325+
326+
</a>
327+
328+
329+
330+
</li>
331+
332+
<li class="chapter " data-level="1.3.8" data-path="../chapter2/svelte-body.html">
333+
334+
<a href="../chapter2/svelte-body.html">
335+
336+
337+
svelte:body
338+
339+
</a>
340+
341+
342+
343+
</li>
344+
345+
<li class="chapter " data-level="1.3.9" data-path="../chapter2/svelte-head.html">
346+
347+
<a href="../chapter2/svelte-head.html">
348+
349+
350+
svelte:head
351+
352+
</a>
353+
354+
355+
356+
</li>
357+
358+
<li class="chapter " data-level="1.3.10" data-path="../chapter2/svelte-options.html">
359+
360+
<a href="../chapter2/svelte-options.html">
361+
362+
363+
svelte:options
364+
365+
</a>
366+
367+
368+
369+
</li>
370+
371+
372+
</ul>
373+
374+
</li>
375+
150376

151377

152378

@@ -236,7 +462,7 @@ <h1 class="search-results-title">No results matching "<span class='search-query'
236462
<script>
237463
var gitbook = gitbook || [];
238464
gitbook.push(function() {
239-
gitbook.page.hasChanged({"page":{"title":"第一章","level":"1.2","depth":1,"next":{"title":"section1","level":"1.2.1","depth":2,"path":"chapter1/section1.md","ref":"chapter1/section1.md","articles":[]},"previous":{"title":"开始之前","level":"1.1","depth":1,"path":"README.md","ref":"README.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["livereload"],"pluginsConfig":{"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"chapter1/README.md","mtime":"2019-05-21T12:18:22.563Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-05-21T13:59:45.480Z"},"basePath":"..","book":{"language":""}});
465+
gitbook.page.hasChanged({"page":{"title":"第一章","level":"1.2","depth":1,"next":{"title":"section1","level":"1.2.1","depth":2,"path":"chapter1/section1.md","ref":"chapter1/section1.md","articles":[]},"previous":{"title":"开始之前","level":"1.1","depth":1,"path":"README.md","ref":"README.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["livereload"],"pluginsConfig":{"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"chapter1/README.md","mtime":"2019-05-21T13:49:52.000Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-05-26T08:50:57.845Z"},"basePath":"..","book":{"language":""}});
240466
});
241467
</script>
242468
</div>

0 commit comments

Comments
 (0)