使用 v-on 绑定自定义事件
上例非常好,不过看着父组件的代码, "child-msg" 事件来自哪里不直观。如果我们在模板中子组件用到的地方声明事件处理器会更好。为了做到这点,子组件可以用 v-on 监听自定义事件:
<child v-on:child-msg="handleIt"></child>
这让事情非常清晰:当子组件触发了 "child-msg" 事件,父组件的 handleIt 方法将被调用。所有影响父组件状态的代码放到父组件的 handleIt 方法中;子组件只关注触发事件。
这一块看得不是很明白,能给个例子吗。。。
这里只是改变了父组件监听子组件事件的方式而已。写在父组件中events不能显示知道是哪个子组件来的事件,而直接写在模板中<child v-on:child-msg='handleIt'></child>则能清楚的知道handleIt就是处理这个child来的child-msg事件的(假如有多个子组件都会发送child-msg消息,并且父组件对其做不同处理时,这种情况就有表达优势了)