@@ -195,7 +195,7 @@ vm.$watchAsObservable('a')
195195var 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
214216var 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
228234var 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