Skip to content

Commit 93fe5d2

Browse files
Merge pull request #198 from wonny-log/translation/guide
Translate paragraphs in Guide
2 parents a5027fd + 955462c commit 93fe5d2

File tree

4 files changed

+39
-44
lines changed

4 files changed

+39
-44
lines changed

src/v2/guide/computed.md

Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -214,35 +214,34 @@ var watchExampleVM = new Vue({
214214
// 질문이 변경될 때 마다 이 기능이 실행됩니다.
215215
question: function (newQuestion) {
216216
this.answer = '입력을 기다리는 중...'
217-
this.getAnswer()
217+
this.debouncedGetAnswer()
218218
}
219219
},
220-
methods: {
220+
created: function () {
221221
// _.debounce는 lodash가 제공하는 기능으로
222222
// 특히 시간이 많이 소요되는 작업을 실행할 수 있는 빈도를 제한합니다.
223223
// 이 경우, 우리는 yesno.wtf/api 에 액세스 하는 빈도를 제한하고,
224224
// 사용자가 ajax요청을 하기 전에 타이핑을 완전히 마칠 때까지 기다리길 바랍니다.
225225
// _.debounce 함수(또는 이와 유사한 _.throttle)에 대한
226226
// 자세한 내용을 보려면 https://lodash.com/docs#debounce 를 방문하세요.
227-
getAnswer: _.debounce(
228-
function () {
229-
if (this.question.indexOf('?') === -1) {
230-
this.answer = '질문에는 일반적으로 물음표가 포함 됩니다. ;-)'
231-
return
232-
}
233-
this.answer = '생각중...'
234-
var vm = this
235-
axios.get('https://yesno.wtf/api')
236-
.then(function (response) {
237-
vm.answer = _.capitalize(response.data.answer)
238-
})
239-
.catch(function (error) {
240-
vm.answer = '에러! API 요청에 오류가 있습니다. ' + error
241-
})
242-
},
243-
// 사용자가 입력을 기다리는 시간(밀리세컨드) 입니다.
244-
500
245-
)
227+
this.debouncedGetAnswer = _.debounce(this.getAnswer, 500)
228+
},
229+
methods: {
230+
getAnswer: function () {
231+
if (this.question.indexOf('?') === -1) {
232+
this.answer = '질문에는 일반적으로 물음표가 포함 됩니다. ;-)'
233+
return
234+
}
235+
this.answer = '생각중...'
236+
var vm = this
237+
axios.get('https://yesno.wtf/api')
238+
.then(function (response) {
239+
vm.answer = _.capitalize(response.data.answer)
240+
})
241+
.catch(function (error) {
242+
vm.answer = '에러! API 요청에 오류가 있습니다. ' + error
243+
})
244+
}
246245
}
247246
})
248247
</script>

src/v2/guide/conditional.md

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,26 +6,17 @@ order: 7
66

77
## `v-if`
88

9-
Handlebars와 같은 문자열 템플릿에서는 다음과 같은 조건부 블록을 작성할 수 있습니다.
9+
`v-if` 디렉티브는 조건에 따라 블록을 렌더링하기 위해 사용됩니다. 블록은 디렉티브의 표현식이 true 값을 반환할 때만 렌더링됩니다.
1010

1111
``` html
12-
<!-- Handlebars 템플릿 -->
13-
{{#if ok}}
14-
<h1>Yes</h1>
15-
{{/if}}
16-
```
17-
18-
Vue에서는 `v-if` 디렉티브를 사용하여 같은 결과를 얻을 수 있습니다.
19-
20-
``` html
21-
<h1 v-if="ok">Yes</h1>
12+
<h1 v-if="awesome">Vue is awesome!</h1>
2213
```
2314

2415
`v-else`와 함께 "else 블록"을 추가하는 것도 가능합니다.
2516

2617
``` html
27-
<h1 v-if="ok">Yes</h1>
28-
<h1 v-else>No</h1>
18+
<h1 v-if="awesome">Vue is awesome!</h1>
19+
<h1 v-else>Oh no 😢</h1>
2920
```
3021

3122
### `<template>``v-if`을 갖는 조건부 그룹 만들기
@@ -57,7 +48,7 @@ Vue에서는 `v-if` 디렉티브를 사용하여 같은 결과를 얻을 수 있
5748

5849
### `v-else-if`
5950

60-
> 2.1.0부터 새롭게 추가됨
51+
> 2.1.0+부터 새롭게 추가됨
6152
6253
`v-else-if`는 이름에서 알 수 있듯, `v-if`에 대한 "else if 블록" 역할을 합니다. 또한 여러 개를 사용할 수 있습니다.
6354

@@ -196,4 +187,6 @@ new Vue({
196187

197188
## `v-if``v-for`
198189

190+
<p class="tip">`v-if`와 `v-for`을 함께 사용하는 것을 권장하지 않습니다. 자세한 내용은[style guide](/v2/style-guide/#Avoid-v-if-with-v-for-essential)을 확인하십시오.</p>
191+
199192
`v-if`와 함께 사용하는 경우, `v-for``v-if`보다 높은 우선순위를 갖습니다. 자세한 내용은 <a href="../guide/list.html#v-for-with-v-if">리스트 렌더링 가이드</a>를 확인하십시오.

src/v2/guide/index.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,8 @@ var app = new Vue({
7575

7676
첫 Vue 앱을 성공적으로 만들었습니다! 이것은 문자열 템플릿을 렌더링하는 것과 매우 유사하지만, Vue.JS 내부에서는 더 많은 작업을 하고 있습니다. 이제 데이터와 DOM이 연결되었으며 모든 것이 **반응형**이 되었습니다. 우리는 그것을 어떻게 확인할 수 있을까요? 브라우저의 JavaScript 콘솔을 열고 `app.message`를 다른 값으로 설정해 보십시오. 위 예제가 업데이트 변경된 값에 따라 업데이트되는 것을 볼 수 있습니다.
7777

78+
더 이상 HTML과 직접 상호작용할 필요가 없습니다. Vue 앱은 단일 DOM 요소(우리의 경우 `#app`)에 연결되어 DOM 요소를 완전히 제어합니다. HTML는 엔트리 포인트일뿐 다른 모든 것은 새롭게 생성된 Vue 인스턴스 내에서 발생합니다.
79+
7880
텍스트 보간 이외에도 다음과 같은 엘리먼트 속성을 바인딩할 수 있습니다.
7981

8082
``` html

src/v2/guide/instance.md

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,8 @@ var vm = new Vue({
1616

1717
엄격히 [MVVM 패턴](https://en.wikipedia.org/wiki/Model_View_ViewModel)과 관련이 없지만 Vue의 디자인은 부분적으로 그것에 영감을 받았습니다. 관례적으로, Vue 인스턴스를 참조하기 위해 종종 변수 `vm`(ViewModel의 약자)을 사용합니다.
1818

19-
Vue 인스턴스를 인스턴스화 할 때는 데이터, 템플릿, 마운트할 엘리먼트, 메소드, 라이프사이클 콜백 등의 옵션을 포함 할 수있는 **options 객체**를 전달 해야합니다. 전체 옵션 목록은 [API reference](../api)에서 찾을 수 있습니다.
19+
Vue 인스턴스를 생성할 때는 **options 객체**를 전달해야 합니다. 이 가이드는 대부분 원하는 생성을 구현할 때 이런 옵션들을 사용하여 원하는 동작을 구현하는 방법에 대해 다룹니다. 전체 옵션 목록은 [API reference](../api/#Options-Data)에서 확인할 수 있습니다.
2020

21-
`Vue` 생성자는 미리 정의 된 옵션으로 재사용 가능한 **컴포넌트 생성자**를 생성하도록 확장 될 수 있습니다
2221
Vue 앱은 `new Vue`를 통해 만들어진 `루트 Vue 인스턴스`로 구성되며 선택적으로 중첩이 가능하고 재사용 가능한 컴포넌트 트리로 구성됩니다. 예를 들어 Todo 앱의 컴포넌트 트리는 다음과 같습니다.
2322

2423
```
@@ -32,11 +31,11 @@ Root Instance
3231
└─ TodoListStatistics
3332
```
3433

35-
확장된 인스턴스를 만들수는 있으나 대개 템플릿에서 사용자 지정 엘리먼트로 선언적으로 작성하는 것이 좋습니다. 나중에 [컴포넌트 시스템](components.html)에 대해 자세히 설명합니다. 지금은 모든 Vue 컴포넌트가 본질적으로 확장된 Vue 인스턴스라는 것을 알아야 합니다.
34+
나중에 [컴포넌트 시스템](components.html)에 대해 자세히 설명합니다. 지금은 모든 Vue 컴포넌트가 본질적으로 확장된 Vue 인스턴스이기에 모두 같은 옵션 객체(몇 가지 루트 인스턴스 전용 옵션 제외)를 전달해야 하는 것만 알면 됩니다.
3635

37-
## 속성과 메소드
36+
## 데이터와 메소드
3837

39-
Vue 인스턴스는 `data` 객체에 있는 모든 속성을 **프록시** 처리 합니다.
38+
Vue 인스턴스가 생성될 때 `data` 객체에 있는 모든 속성이 Vue의 **반응형 시스템**에 추가됩니다. 각 속성값이 변경될 때 뷰가 "반응"하여 새로운 값과 일치하도록 업데이트됩니다.
4039

4140
``` js
4241
// 데이터 객체
@@ -47,14 +46,16 @@ var vm = new Vue({
4746
data: data
4847
})
4948

50-
// 같은 객체를 참조합니다!
49+
// 인스턴스에 있는 속성은
50+
// 원본 데이터에 있는 값을 반환합니다.
5151
vm.a === data.a // => true
5252

53-
// 속성 설정은 원본 데이터에도 영향을 미칩니다.
53+
// 인스턴스에 있는 속성값을 변경하면
54+
// 원본 데이터에도 영향을 미칩니다.
5455
vm.a = 2
5556
data.a // => 2
5657

57-
// ... 당연하게도
58+
// ... 반대로 마찬가지입니다.
5859
data.a = 3
5960
vm.a // => 3
6061
```
@@ -145,7 +146,7 @@ new Vue({
145146

146147

147148
<p class="tip">options 속성이나 콜백에 `created: () => console.log(this.a)` 이나 `vm.$watch('a', newValue => this.myMethod())` 와 같은 [화살표 함수](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Functions/%EC%95%A0%EB%A1%9C%EC%9A%B0_%ED%8E%91%EC%85%98) 사용을 지양하기 바랍니다.
148-
화살표 함수들은 부모 컨텍스트에 바인딩되기 때문에, `this` 컨텍스트가 호출하는 Vue 인스턴스에서 사용할 경우 `Uncaught TypeError: Cannot read property of undefined` 또는 `Uncaught TypeError: this.myMethod is not a function`와 같은 오류가 발생하게 됩니다.</p>
149+
화살표 함수는 `this`를 가지지 않기 때문에 화살표 함수에서의 `this`는 다른 변수로 취급되거나 렉시컬하게 호출한 변수를 발견할 때까지 부모 스코프에서 해당 변수를 찾습니다. 이 때문에 `Uncaught TypeError: Cannot read property of undefined` 또는 `Uncaught TypeError: this.myMethod is not a function`와 같은 오류가 발생하게 됩니다.</p>
149150

150151
## 라이프사이클 다이어그램
151152

0 commit comments

Comments
 (0)