Vue学习计划(一)

Vue 起步

vue中data:{}data(){}的区别

由于在vue中的 => data是全局的(在大型的项目中,使用data会造成数据污染),而将data封装一个函数中的话,我们在实例化组件的时候只是调用了这个函数生成的数据副本,这样就避免了数据污染

解决eslint与vscode自带的代码格式化冲突问题

使用.prettierrc进行配置

具体配置如下:

{
	"tabWidth": 2,
	"singleQuote": true,
	"trailingComma": "none",
	"printWidth": 140,
	"semi": false
}

使用.eslintrc.js进行配置

具体配置如下:

module.exports = {
    root: true,
    env: {
        node: true
    },
    extends: [
        'plugin:vue/essential',
        '@vue/standard'
    ],
    parserOptions: {
        parser: 'babel-eslint'
    },
    rules: {
        'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
        'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
        'space-before-function-paren': 'off'
    }
}

Vue属性绑定

如果需要在将数据绑定到标签的属性中去,此时使用原先的插值表达式或直接使用data中数据的键值名称将无法正常解析,需要通过v-bind在进行属性的绑定(动态绑定),或者更方便的办法使用:在属性名前面,才可以正常的解析data中的值

注意: 如果使用冒号,绑定的是变量,如果不使用冒号,那么使用的则是常量

具体案例如下:

<a :href="url">: => {{ url }}</a><br />
<a v-bind:href="url">v-bing: => {{ url }}</a>

<!-- url="https://www.baidu.com" -->

Vue中没有key的影响

<div v-if="login" class="login">
    <input type="text" value="" />
    <button>登录</button>
</div>
<div v-else class="register">
    <input type="text" value="" />
    <button>注册</button>
</div>
<button @click="loginToggle">切换登录注册</button>

loginToggle() {
	this.login = !this.login
}

如果没key的标识作用,修改数据时,只会更改不一样的部分,相同部分(输入框中的值并不会加以更改)

所以在使用时,一定要绑定对应的key做区分

生命周期钩子函数

created:进行Ajax请求异步数据的获取、初始化数据

mounted:挂载元素内dom节点获取

computed计算属性

computed计算属性可以将复杂的逻辑放入计算中进行处理,同时computed有缓存功能,可防止复杂逻辑多次调用引起的性能问题

watch监听属性

可以监听数据的变化,\使用 watch 选项允许我们执行异步操作 (访问一个 API),限制我们执行该操作的频率,并在我们得到最终结果前,设置中间状态。这些都是计算属性无法做到的。

class和style绑定

class的使用
# 以对象的形式设置
<div v-bind:class="{ active: isActive }"></div>
# 可以放置多个对象,与普通class属性共存,也可将对象设置在模板中
<div class="static" v-bind:class="{ active: isActive, 'text-danger': hasError }"></div>
# 还可以设置成数组的形式
<div v-bind:class="[activeClass, errorClass]"></div>
# 结合三元表达式
<div v-bind:class="[isActive ? activeClass : '', errorClass]"></div>

-- 总的来说有两种方式,一是对象,二是数组的形式(二者可以根据需求混合使用)

在组件上使用,在组件声明时,已经有了一些class属性,而在使用时如果再声明了一些class,原有的值不会被覆盖,而是添加在后面

style的使用

同class的设置类似,有对象和数组的形式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值