(笔记)关于vue中需要注意的小地方

一、@后面跟自定义事件
这是为了子组件修改父组件的数据。在vue中,父组件可以用props向子组件传递数据;子组件向父组件传递数据,使用@自定义事件和 e m i t 进 行 通 信 。 子 组 件 用 emit进行通信。子组件用 emitemit发起时事件

这是在子组件talion-view中触发事件。
第一个参数为事件名称,父组件用同样名称获取数据,第二个参数为传递的数据。

this.$emit('closeTalion', this.msg)

这是父组件引用子组件的地方,用@加事件名称捕获到子组件中触发的事件,用close方法可以获取到子组件传递过来的值


注:在父组件当中获取子组件用 e m i t 传 递 过 来 的 值 只 能 绑 定 在 模 板 里 , 不 能 用 emit传递过来的值只能绑定在模板里,不能用 emiton来捕获

二、正确使用vuex
在大型的spa应用当中,为了保证多个组件当中的数据一致性,一般会用到vuex,即单一状态管理器。而我们可以用vuex中的state来初始化data,但这样会造成别处组件修改了state而用state初始化data的不能进行实时响应。所以我们一般用computed来修改数据。因为计算属性是基于依赖进行缓存的,所以当state发生改变,就可以进行实时响应。

三、v-for与v-if共同使用
不建议v-for与v-if共同使用在同一个元素上,v-for的优先级比v-if的优先级高。可将v-if放在容器元素上,避免v-for渲染隐藏元素。

四、安装vuejs的插件问题
如果插件是个对象,则需要install来安装;如果插件是个方法,则这个方法会被作为 install 方法。install 方法调用时,会将 Vue 作为参数传入。
例子如下:
Vue.use(MyPlugin)
// 相当于:1)如果MyPlugin是一个对象,等价MyPlugin.install(Vue)。
     2)如果MyPlug是一个函数, 则等价于 MyPlugin(Vue)
结论:如果引入的插件是一个对象,那么此对像必须有install 方法,因为 Vue.use要用。
如果是函数,直接当做install方法调用。

五、关于vue当中的作用域插槽
子组件往父组中传值。父组件用slot-scope = ‘name’ 就可以拿到子组件的值。还有种特别用法,如下所示:
(笔记)关于vue中需要注意的小地方_第1张图片
在表格当中用slot-scope=“row”来获取表格行的元素

你可能感兴趣的:(笔记类,小知识点,vue)