vue知识点

vue父子组件通信

props,$ emit , vuex , provide/inject , $ attrs/$ listeners,$root , $parent, $refs, eventBus

vue为什么不兼容ie8

因为ie8没有实现Object.defineProperty()

input的input事件会自带event参数,如何同时绑定其他参数

@input="(event)=>{handleInput(event,‘加参数’)}"

js实现简单的双向绑定

<body>
    <div id="app">
    <input type="text" id="txt">
    <p id="show"></p>
</div>
</body>
<script type="text/javascript">
    var obj = {}
    Object.defineProperty(obj, 'txt', {
        get: function () {
            return obj
        },
        set: function (newValue) {
            document.getElementById('txt').value = newValue
            document.getElementById('show').innerHTML = newValue
        }
    })
    document.addEventListener('keyup', function (e) {
        obj.txt = e.target.value
    })
</script>

v-model如何实现

通过Object.defineProperty进行数据劫持
v-bind绑定一个value属性
v-on指令给当前元素绑定input(input,textarea)、change(select,checkbox,radio)事件。

v-if和v-for写在同一标签上,谁的优先级高?为什么?怎么优化?

v-for优先级高; 为了实现

类似的过滤;会先执行完v-for再执行v-if导致性能浪费,所以优化为把v-if提升到父标签上,或者在computed里面过滤

用户自定义watch有哪些参数

handle(newVal,oldVal){}
deep 是否深监听触发
immediated 是否立刻触发一次
asyn 是否在当前tick执行,默认false。tick表示nextTick的queueWatcher

assets和static文件夹区别

assets文件夹会被webpack打包压缩,而static不会

SPA首屏加载慢如何解决

动态懒加载所需插件;使用CDN资源;vue-ssr

vue-ssr用于解决什么痛点

首屏加载慢;SEO优化

vue-router的query和params传参区别

query通过url传参,刷新页面还在
params刷新页面不在了

$ route和$ router区别
$ router是VueRouter的实例,使用$ router.push方法导航。返回上一个历史history用$router.to(-1)
$route为当前router跳转对象。里面可以获取当前路由的name,path,query,parmas等。

介绍vuex
state => 基本数据(数据源存放地)
getters => 从基本数据派生出来的数据
mutations => 提交更改数据的方法,同步!
actions => 像一个装饰器,包裹mutations,使之可以异步。
modules => 模块化Vuex
modules里面如果主动写namespace为true, 会导致modules里面的actions\mutaions\gatters变成局部作用域

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值