使用 npm run dev 命令运行你的vue项目的时候,你得先使用cd命令进入你的项目目录中去
1、new 一个Vue对象的时候你可以设置它的属性,其中最重要的包括三个,分别是data,methods,watch
2、其中data代表vue对象的数据,methods代表vue对象的方法,watch设置了对象监听的方法
3、Vue对象里的设置通过html指令进行关联
4、重要的指令包括
v-text 渲染数据
v-if 控制显示(条件渲染),元素会从文档流里面删除
v-else 紧接在v-if来配合使用
v-show 控制显示(条件渲染),通过css的display:none来隐藏
v-on 绑定事件
v-for 循环渲染
v-bind 来绑定标签的属性名,可以简写为 :属性名
5、
![](./assets/logo.png)
-
{{item.label}}
6、
//这是main.js文件
// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
Vue.config.productionTip = false
/* eslint-disable no-new */
//这个new Vue是根组件
// new Vue({
// el: '#app',//组件要装载的位置,是index.html里的那个id为app的位置
// template: ' ',//装载一个模板
// components: { App }
// })
//全局注册组件的方法
/*
注册一个my-header的组件,
注册组件的时候不用使用new Vue的那种方法,直接使用{}即可
其中,注册组件的时候不用指明组件的挂载点,
也就是说不用写el这个属性
*/
Vue.component('my-header', {
template: 'header
',
}); //
//测试,这是一个根组件
new Vue({
el: '#app',
template: 'succuss, {{word}}
', //此时,index.html的那个app就会被替换为我这里的p标签,不过一般我们都不会直接在这里写template,而是直接在挂载点写模板
data: {
word: 'hello world2'
} //data是组件会用到的数据
});
//这是main.js文件
import Vue from 'vue'
var myHeaderChild = {
template: 'I am my header child
'
}
//把myHeader作为变量存起来,组件里面还有一个组件my-header-child
var myHeader = {
template: 'this is my header
',
components: {
'my-header-child': myHeaderChild,
}
}
/*
这是一个根组件
因为我们一般不会把所有的组件都注册为全局组件,
所以我们使用components这个属性来注册组件,
这样我们就可以在new Vue这个根组件的内部来使用这个组件了
*/
new Vue({
el: '#app',
data: {
word: 'hello world2'
},
components: {//my-header是任意取的配置名
'my-header': myHeader, //让my-header这个组件关联到这个'my-header配置里面'
}
});
7、
要避免组件的data是引用赋值,即:
data: {
f: 1,
d: 2
}
应该以函数的形式赋值:
data: function(){
return {
f: 1,
d: 2
}
}
如果我们通过引用赋值的方式的话,那么,如果一个相同的组件在多个地方使用,但是我只想改变一个地方的组件的data的值,此时,会把所有用到这个组件的地方的data值改变掉
8、
全局API
Vue的实例对象提供的全局方法,例如注册全局组件的Vue.component方法
实例选项
创建一个组件的时候,所传入的对象,例如Vue组件的el、data
实例属性/方法
都是以$符号开头的
指令
写在组件的模板(template)里面,通过模板与数据交互的方法
内置组件:
Vue提供的组件,例如: 、 、 组件
9、
//在App.vue文件里面
/*
v-text和v-html用法的区别
使用表达式
*/
{{num + 1}}
{{status ? 'success' : 'fail'}}
10、
v-for指令的用法
使用这个指令来进行data里面的数组的渲染
-
{{item.name}} - {{item.price}}
-
-
{{item.name}} - {{item.price}} {{index}}
11、
v-bind:class(或者:class)的用法
-
{{item.name}} - {{item.price}} {{index}}
其中,index是从0开始计的,odd是一个类名,如果odd冒号后面的东西是0或者false,那么,不添加这个类,如果是非0或者true,那么,添加这个类
12、
使用v-for来进行data里面的对象的渲染
其中的index不一定是数字了,这一点和渲染数组的情况有些不同
value也可以替换成item或者其他的
//在App.vue文件里面
-
{{index}}: {{value}}
13、
我们一般都会把不同的组件放在不同的文件里面,而这些保存组件的文件后缀是.vue,一般都会放在src文件夹下面的components文件夹下面
例如,这是我的信建立的一个a组件,保存在a.vue文件里
{{content}}
然后,我要在app组件(保存在app.vue文件里)里面去引入上面这个a组件:
-
{{index}}: {{value}}
14、
使用v-for指令来对组件列表循环渲染:
-
{{index}}: {{value}}
因为objList有4项,所以,它会循环输出4次a组件
15、
列表数据同步更新方法
例如,使用push可以添加数据进入data里面的属性中
-
{{item.name}} {{item.price}}
那么会把name: 'orange' 和 price: 39加入data里面的items数组列表中
直接对列表的某一项进行赋值,不会更新列表的数据,可以使用set方法(这是Vue的全局方法)去改变数组列表中的某一项的数据
以上笔记是我今天看视频看到的位置,后面还会继续更新(❁ᴗ͈ˬᴗ͈)