Skip to content

Commit 21b283d

Browse files
authored
Merge pull request #50 from SangKa/async-with-readme
Thanks
2 parents 261be7a + b656bcb commit 21b283d

File tree

1 file changed

+46
-1
lines changed

1 file changed

+46
-1
lines changed

README-CN.md

Lines changed: 46 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ vm.$watchAsObservable('a')
195195
var vm = new Vue({
196196
created () {
197197
this.$eventToObservable('customEvent')
198-
.subscribe((event) => console.log(event.name,event.msg))
198+
.subscribe((event) => console.log(event.name,event.msg))
199199
}
200200
})
201201

@@ -210,6 +210,8 @@ Rx.Observable.interval(500)
210210

211211
#### `$subscribeTo(observable, next, error, complete)`
212212

213+
这是一个添加到实例上的原型方法。可以用它来订阅 obserable,但是让 VueRx 来管理清理 (dispose) 和取消订阅 (unsubscribe)。
214+
213215
``` js
214216
var vm = new Vue({
215217
mounted () {
@@ -224,6 +226,10 @@ var vm = new Vue({
224226

225227
> 此功能需要 RxJS 。
226228
229+
这是一个添加到实例上的原型方法。使用它从实例的元素的 DOM 事件创建 observable 。这类似于 `Rx.Observable.fromEvent`,但即使在 DOM 实际渲染 之前,`subscriptions` 函数中也是可用的。
230+
231+
`selector` 用于寻找组件根元素的子孙节点,如果你想要监听根元素本身,那么传递 `null` 作为第一个参数
232+
227233
``` js
228234
var vm = new Vue({
229235
subscriptions () {
@@ -234,6 +240,45 @@ var vm = new Vue({
234240
})
235241
```
236242

243+
#### `$createObservableMethod(methodName)`
244+
245+
> 此功能需要 RxJS 。
246+
247+
将函数调用转换为发出调用参数的 observable 序列。
248+
249+
这是一个添加到实例上的原型方法。用它来根据函数名称创建一个共享的热的 observable 。该函数会被赋值为一个 vm 方法。
250+
251+
```html
252+
<custom-form :onSubmit="submitHandler"></custom-form>
253+
```
254+
``` js
255+
var vm = new Vue({
256+
subscriptions () {
257+
return {
258+
// 需要 `share` 操作符
259+
formData: this.$createObservableMethod('submitHandler')
260+
}
261+
}
262+
})
263+
```
264+
你可以使用 `observableMethods` 选项使其更为声明式:
265+
266+
``` js
267+
new Vue({
268+
observableMethods: {
269+
submitHandler:'submitHandler$'
270+
// 或者使用数组简写形式: ['submitHandler']
271+
}
272+
})
273+
```
274+
275+
上面的代码会自动地在实例上创建两样东西:
276+
277+
1. `submitHandler` 方法,它可以使用 `v-on` 在模板中进行绑定。
278+
2. `submitHandler$` observalbe, 它是向 `submitHandler` 发出调用的流。
279+
280+
[示例](https://github.com/vuejs/vue-rx/blob/master/example/counter-function.html)
281+
237282
### 警告
238283

239284
你不能使用 `watch` 选项来观察 subscriptions ,因为它在 subscriptions 设置之前处理过了。但是你可以在 `created` 钩子中使用 `$watch` 来代替。

0 commit comments

Comments
 (0)