nodejs--vue


基础知识认识:

前端工程化

	最近才兴起,nodejs(包的管理更加方便),webpack

数据双向绑定

		mvm 	数据驱动vue,vue改变数据

组件化开发

vue 中的常见 概念:

	webpack 

		目的:把所有的 vue文件或者其他文件 转换成  js文件

	vue (框架),vuex(组件间的通信), vue-router(路径--组件关联,跳转),axios(ajax,http请求包)

	ES6(ES6语法),babel(转换器--转换成ES5)

vue框架的优势:
比 jquery 效率更好 前后端分离 --- 只提供数据
前后端融合 --- render 速度快,灵活,学习快

vue的基本语法

  • {{}} 插入值,里面可以放表达式

  • 指令 v-*:是带有V-前缀的特殊属性,通过属性来操作元素

事件绑定-- v-on: @

属性绑定 -- v-bind: :

	v-text 在元素中插入值

	v-html 文本 加 标签

	v-if  控制标签是否被注释

	v-show 控制标签是否显示 (display)

	v-for 循环渲染 标签

		数组循环
v-for='(item,index) in arr' {{item}}:{{index}} 对象循环
v-for='(item,key,index) in obj' {{item}}:{{key}}:{{index}} v-on 监听元素时间,并且执行相应的操作 函数
v-on:click='show()'
简写
@click='func1()' 对数组进行操作 push
pop
shift
unshift
splice
reverse 元素删除 修改 定义在new Vue 中的变量,相应的dom元素也会改变 this.arr.pop(); v-bind 绑定元素的属性 来执行相应的操作
v-bind:href='url'
简写
:href='url1' v-bind:class='{div:isTrue}' v-model 实现了视图和数据的双向绑定 把元素的值和数据绑定
当输入内容时,数据相应变化
当改变数据时,输入的内容也会发生改变

vue 的设计模式是MVVM

MVVM  Model- View-ViewModel  数据展示到视图是通过ViewModel控制上去的
组件的概念就是由html,css,js构成的一个模块 模块:一个js文件就是一个模块、
vue的组件是通过一个工具(webpack)进行打包,打包成一个*.vue
webpack:一个打包机,将我们html,css,js等等打包成一个文件让我们浏览器识别。捆绑

vue的核心用法 :

1、模板语法:使用{{}}进行插值

2、指令系统:v-if,v-show,v-bind,v-on,v-for,v-model,v-html

v-if:真正的条件渲染
v-show:惰性的渲染,这个渲染方式会在标签上加style样式
v-bind:绑定属性,可以在任何的标签中绑定标签中自己的属性和自定义的属性
v-on:绑定事件,可以绑定js中所有的事件,包括click,hover,mouseover......
v-for:遍历数组
v-mode:表单控件中实现双向数据绑定
v-html:双大括号会将数据解释为普通文本,而非 HTML 代码。为了输出真正的 HTML,你需要使用 v-html 指令 3、computed计算属性
注意:使用computed的时候默认只有getter ,它能实时监听数据属性的变化。当然了,在必要的时候我们还可以加setter

如何使用npm

npm全称:node package manger

使用npm
1.执行npm init 初始化项目 自动生成一个package.json的文件 2.npm install jquery --save
下载相应的jquery的包,并自动的生成node_modules的文件夹到该文件夹下 3.npm uninstall jquery --save 卸载jquery的包

package.json管理着我们当前项目需要的包

有时候我们会讲我们的写好的项目代码上传到github上,但github只允许上传100兆以上的项目,这时候node_modules在上传的时候会被
忽略。但是package.json管理着我们当前项目需要的包,那么我们从github上下载当前项目中,安装readme的文档提示做需求即可,一般需要npm instal

vue中的数据流

 ===》自上而下

组件之间的通信:

1.父组件往子组件传值:使用自定义属性,子组件一定要验证自定义的属性的类型
2.子组件往父组件传值:使用自定义事件
3.同级组件之间的传值:官方建议使用vuex,第三天会讲

vue+vue-router 来创建单页面应用

单页面应用的网站:知乎、稀土掘金、少数派、网易云、饿了么移动端、豆瓣等等

使用vue-router

<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script src="https://unpkg.com/vue-router/dist/vue-router.js"></script> <div id="app">
<h1>Hello App!</h1>
<p>
<!-- 使用 router-link 组件来导航. -->
<!-- 通过传入 `to` 属性指定链接. -->
<!-- <router-link> 默认会被渲染成一个 `<a>` 标签 -->
<router-link to="/foo">Go to Foo</router-link>
<router-link to="/bar">Go to Bar</router-link>
</p>
<!-- 路由出口 -->
<!-- 路由匹配到的组件将渲染在这里 -->
<router-view></router-view>
</div>
JavaScript
// 0. 如果使用模块化机制编程,导入Vue和VueRouter,要调用 Vue.use(VueRouter) // 1. 定义(路由)组件。
// 可以从其他文件 import 进来
const Foo = { template: '<div>foo</div>' }
const Bar = { template: '<div>bar</div>' } // 2. 定义路由
// 每个路由应该映射一个组件。 其中"component" 可以是
// 通过 Vue.extend() 创建的组件构造器,
// 或者,只是一个组件配置对象。
// 我们晚点再讨论嵌套路由。
const routes = [
{ path: '/foo', component: Foo },
{ path: '/bar', component: Bar }
] // 3. 创建 router 实例,然后传 `routes` 配置
// 你还可以传别的配置参数, 不过先这么简单着吧。
const router = new VueRouter({
routes // (缩写)相当于 routes: routes
}) // 4. 创建和挂载根实例。
// 记得要通过 router 配置参数注入路由,
// 从而让整个应用都有路由功能
const app = new Vue({
router
}).$mount('#app') // 现在,应用已经启动了!

实例

main.js

import Vue from 'vue'
import App from './App'
import router from './router'
import axios from 'axios'
import store from './store/store' Vue.prototype.$axios = axios;
// 全局变量的声明 ---
Vue.config.productionTip = false; /* eslint-disable no-new */
new Vue({
el: '#app',
router,
store,
components: { App },
template: '<App/>'
})

store/store.js

import Vue from 'vue'
import Vuex from 'vuex'
import Cookie from 'vue-cookies' Vue.use(Vuex); export default new Vuex.Store({
state:{
username:Cookie.get('username'),
token:Cookie.get('token')
},
mutations:{
// 组件中 通过 this.store.commit 参数 调用
saveToken(state,data){
state.username = data.username;
state.token = data.token;
//设置到内存中
Cookie.set('username',data.username,'20min');
Cookie.set('token',data.token,'20min')
//设置到cookie中
},
clearToken(state){
state.username = null;
state.token = null;
Cookie.remove('username');
Cookie.remove('token')
}
}
})

router/index.js

import Vue from 'vue'
import Router from 'vue-router'
import Index from '@/components/Index'
import Login from '@/components/Login'
import Course from '@/components/Course'
import Luffy from '@/components/Luffy'
import News from '@/components/News'
import NotFound from '@/components/NotFound'
import CourseDetail from '@/components/CourseDetail' Vue.use(Router); export default new Router({
routes: [
{
path: '/',
name: 'Index',
component: Index
},
{
path: '/index',
name: 'Index',
component: Index
},
{
path: '/login',
name: 'Login',
component: Login
},
{
path: '/course',
name: 'Course',
component: Course
},
{
path: '/course/detail/:id/',
name: 'CourseDetail',
component: CourseDetail
},
{
path: '/luffy',
name: 'Luffy',
component: Luffy
},
{
path: '/news',
name: 'News',
component: News
},
{
path: '*',
name: '*',
component: NotFound
},
],
mode:'history'
})

Course.vue

<template>
<div class="course">
<ul>
<li v-for="item in courseArray">
<router-link :to="{'path':'/course/detail/'+item.id}">{{item.name}}</router-link>
</li>
</ul>
</div>
</template> <script>
export default {
name: 'Course',
data () {
return {
courseArray:[
]
}
},
mounted:function(){
this.initCourse()},
methods:{
initCourse(){
var that = this;
this.$axios.request({
url:'http://127.0.0.1:8000/course/',
method:'GET',
responseType:'json'
}).then(function (response) {
that.courseArray = response.data;
})
}
}
}
</script> <!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
li{
list-style: none;
}
</style>

nodejs--vue的更多相关文章

  1. nodejs+vue.js+webpack

    前端: nodejs+vue.js+webpack 后台:ssb(Spring+SpringMVC + mybatis-plus) 开发工具:idea 一.前提 1.安装nodejs 2.安装完nod ...

  2. nodejs, vue, webpack 项目实践

    vue 及 webpack,均不需要与nodejs一期使用,他们都可以单独使用到任何语言的框架中. http://jiongks.name/blog/just-vue/ https://cn.vuej ...

  3. nodejs vue的安装

    1.https://nodejs.org/en/ 下载最新版nodejs 2.安装好后win+R输入cmd(管理员权限键入):node -v(node版本)npm -v(npm版本)查看版本号,如图所 ...

  4. nodeJs+vue安装教程详解 相信

    相信很多朋友都在装node服务和安装vue的时候会遇到一些问题,下面为大家详细介绍node服务的安装以及vue的安装: 1.nodeJs官网下载版本(根据自己电脑的配置进行相应下载即可):默认安装路径 ...

  5. Windows安装VsCode 和Nodejs Vue

    一.安装VSCode 1.在官网下载并安装VSCode https://code.visualstudio.com/Download 注意:解压到非系统盘(节约系统盘空间,也方便后面使用) 文件夹最好 ...

  6. nodejs vue SyntaxError:Block-scoped declarations (let,const,function,class) not yet supported

    下午在git上导入之前写的代码到本地环境,执行npm run dev报错. 在我之前的环境中是没有问题的,这个错误信息也没看懂是什么原因引起的, 猜测可能是nodejs版本太低,于是重新下载了一个wi ...

  7. nodejs vue 微信公众号开发(二)申请微信测试号

    1.打开微信测试公众号开发平台http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 扫码登陆

  8. 在阿里云 ECS 搭建 nginx https nodejs 环境(三、nodejs)

    在阿里云 ECS 搭建 nginx https nodejs 环境(三.nodejs) 在阿里云 ECS 搭建 nginx https nodejs 环境(三.nodejs) 第一步 指定版本源 执行 ...

  9. vue不是内部或外部命令,配置一个Path系统变量就可以解决

    作为一个vue小白,最近为vue安装真是操碎了心.无论怎么查找网上的教程,还是解决不了"vue不是内部或外部的命令"诸如此类的问题.好在功夫不负有心人,终于在多次的试验下,成功解决 ...

  10. VUE初体验篇-安装

    现代前端框架大行其道,讲前端思想从操作dom的阶段,升级到操作数据的阶段.vue作为三大前端框架之一,其中平缓的学习曲线,让好多前端新手非常喜欢,应用也越来越广泛.虽然其他两个框架有facebook, ...

随机推荐

  1. bootstrap模板

    一.bootstrap基本介绍 1.什么是bootstrap? bootstrap就是个前端快速开发的工具,该工具是个简单.直观.强悍的前端开发框架,让web开发更加迅速简单,同时也是个响应式布局,兼 ...

  2. pyhton3 hashlib模块

    hashlib模块提供一下常量属性 hashlib.algorithms_guaranteed 获取保证在所有平台上此模块支持的哈希算法名称的集合 hashlib.algorithms_availab ...

  3. Python基础知识补充(重要)-作用域、特殊语法

    Python作用域 python代码内部块如if语句内声明变量,在if代码段后在调用此变量并未报如“undefinded name"此类错误,例子如下: if 1 == 1: name = ...

  4. Apache NiFi 开发 安装说明

    系统环境: vmware安装的centos6.7虚拟机 jdk1.8版本 maven库3.3.9版本(在使用源码编译启动的时候需要修改配置文件与当前使用的maven版本匹配,最低使用版本好像是3.1. ...

  5. sql两张表关联更新字段

    记录,推荐使用第三种,个人觉得比较好 --第一种写法,之前一直用,没有在意 UPDATE sr_t_TCodeUserReciveCfg SET fUserID=a.fUserID,fImportFl ...

  6. HP小型机维护

    (一)文件系统维护 . 监控文件系统的使用 # bdf . 监控文件目录的使用 # du -sk /myfs2/* (二)网络系统维护 1. 相关配置文件 1). 主机名定义文件:/etc/hosts ...

  7. Python编程-异常处理

    一.错误和异常 1.程序中难免出现错误,而错误分成两种 (1)语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) #语法错误示范一 if #语法错误示范二 def t ...

  8. debian下使用dynamic printk分析usb转串口驱动执行流程

    看了一篇文章<debug by printing>,文中提到了多种通过printk来调试驱动的方法,其中最有用的就是"Dynamic debugging". “Dyna ...

  9. Windows系统 PHPstudy Apache无法启动的解决办法

    最近在配置phpstudy的时候,出现是phpstudy apache无法启动的情况,其实也不是一点也不能启动,而且apache的启动状态亮一下就自动关闭了. 这样情况大部分小伙伴应该都遇到过,以前看 ...

  10. EF Code-First 学习之旅

    什么是Code-First 基本工作流: 写好应用程序的领域类和上下文类→配置领域类的额外映射→运行程序→Code-First API创建新的数据库或与现有数据库对应→添加种子数据到数据库中测试