VUE-初级

149 阅读2分钟

1.todolist 保存功能: keydown 键盘监听;push()方法;input type=“checkbox” 选中以及未选中会改变状态;splice(key,1)删除所选; 缓存方法:localStorage.setItem('key',JSON.stringify(this.list));生命周期函数:和data同级,mounted(){};页面刷新就会触发的方法;.监听 @change= 事件;

2.封装localStorage:直接使用不太好:

var storage = { set(key,value){ localStorage.setItem(key,JSON.stringify(value)); }, get(key) { return JSON.parse(localStorage.getItem(key)); }, remove(key){ localStroge.removeItem(key); } } export default storage; 暴露出去;

引入: import storage from '../mode/storage.js';

以上有封装使用 自己的方法 写好后暴露出去,然后引用即可;

3.组件:公共功能 单独抽离成一个组件,各个页面中引入即可;扩展HTML中构建应用中的不足;

1.APP.VUE 根组件,一般不进行操作;挂载各种组件。 2.路由,可以动态的挂载;不用路由就需要手动挂载。3.新建components文件夹,各种组件都放这里面:Home.vue ;组件里面有模板template 模板里面要用一个div 包含;在跟组件里面引入(在script中引入),imort Home.vue from '../compontents/Home.vue';然后在data中注册-挂载:components: { ‘v-home’: Home; } 然后在根组件的模板中引入 《v-home》《/v-home》;4.业务逻辑: 《script》 export default { data () { return { msg:'我是组件' } }, methods:{ run (){ alert(this.msg); } } } 《script》; 5.样式: 《style scoped》《/style》 和不用框架的时候差不多; 如何单独使用 可以使用局部 scoped 也可以使用ID定义局部;

新接触Vue在组件新建挂载这块是比较难理解的一点,需要多加练习;

二,生命周期函数-构造函数-生命钩子函数---组件挂载以及更新,销毁的时候 触发的一系列的方法。

1.beforCreate();2.created();3.beforemount();4.mounted()--一加载就执行的方法;5.beforeUpdate();6.updated();7.beforeDestroy();8.destroyed();八个过程。4.5。6.7过程用的比较多。

三,请求数据:1.vue-resource: 官方提供的插件,安装好。安装的时候加上 --save 这样项目完成转发给别人就不会出错。 在 main.js 中引入: 官方插件使用方法 Vue.use(vueResource)。 this.$http.get(url).then(function(){},function(){});2. axios: 第三方插件;安装:npm install axios --save; 在组件中引用。axios.get(url).then(function(){}).catch(error)=>{}); 3.fetch-jsonp 使用方法和axios一样。

四。父子组件传值:父子组件--引入和被引入的关系。1.调用子组件时候绑定属性:title="title",2. export default(data(){msg:111}),props:['title']--这个可以验证传递数据的类型;

父组件主动获取子组件的方法和数据:1.调用子组件的时候定义一个 ref => ref="header";2.在父组件中通过this.$ref.header.方法。

子组件主动获取父组件的数据和方法:this.parent.数据;this.parent.方法;

非父子组件传值--兄弟组件:1.借助父子组件关系进行传递,但是毕竟麻烦;2.--a.新建一个Vue实例,b.广播,c.接收广播; => 广播 Vue.emit('to-new',this.msg)  --   接收-在mounted方法中使用,加载即接收  Vue.on('to-new',funtion(){})--实战中用的少,面试可能会涉及。