当前位置: 首页 > news >正文

vue.js 初步学习资源

最近做一个内部系统,准备尝试下新的js写法,即vue.js

起源于AMD的规范,AMD相对于CommonJS规范,CommonJS规范是针对后端js写的最早这个项目叫Server.js后来改名为CommonJS,著名的nodeJs就是CommonJS的一个实践,当然并不全是遵循CommonJS规范的,这一点在CommonJS的维基百科上可以看到。

https://zhuanlan.zhihu.com/p/26937250

这个地址是一个腾讯工程师写的,入门很好地文章,收藏下,也便于其他人学习。

 

初学者最开始了解的一般是router,而这个ES5规范下的router,坑还是不少的,其中一个就是关于路径怎么输入都是一个路径的问题,这个就是单页应用中,所谓前端路由引起的,也就是并不向后台重新发起请求,只是在前端通过链接里使用#,来变更页面内容的方法,vue-router支持两种方式,

一种就是URL中的hash ("#")

另一种是history interface在H5中新增的方法

现在明白了,为什么要加#了吧,那如果不想用#怎么办,觉得不好看怎么办,那就在vue-router的配置里指定: mode: history,即可

详细的解释在:https://zhuanlan.zhihu.com/p/27588422?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io

 

router的问题解决了,剩下的就按照最上边的教程开始敲代码吧。

做后台的同学去github上搜索:iview-admin 一个现成的项目,可以拿来借鉴。

 

代理的坑写在这里了:

https://github.com/iview/iview-project/issues/4

关于生命周期的东西:

https://segmentfault.com/a/1190000008570622

 

在地铁上,再写一些吧最近这几天遇到的坑和解决途径

今天就有一个,封装了一个Select作为子组件,父组件初始化的时候,要初始化子组件的值,那么做一个prop作为初始化值,从父组件传到子组件吧,这样子组件就有了初始化的数值,当然子组件上的Select里的Option项目是自己负责初始化的。

这样之后,子组件里Select肯定要选择值呀,选择之后呢,就会报错了。

[Vue warn]: Avoid mutating a prop directly since the value will be overwritten

下边的是https://segmentfault.com/q/1010000010353891/a-1020000012714770

这里回复别人使用的,不再重复打了。

我做的好复杂,哈哈,还没开始用vuex。
做法这样的:
父组件传值子组件,prop属性传递
子组件传值父组件,$emit传递
另外:子组件想要修改自己定义的prop怎么办,$emit值到父组件,由父组件绑定的prop来修改
父组件:

v-bind:resourceTypeId="resource.resourcesTypeId" 
v-on:selResourceType="setResourceType"

 

子组件:

data () {
    return {
        selResourceModel: '请选择资源类型'
    }
}
<Select v-model="selResourceModel" @on-change="selResourceType" placeholder="请选择资源类型" clearable style="width:250px">
    <Option v-for="item in resourcestypeList" :key="item.id" :value="item.id">{{ item.displayName }}</Option>
</Select>
props: [
  "resourceTypeId"
],

 

这里为什么没有在子组件直接v-model绑定props的resourceTypeId,因为这样的话,选择Select项目的话,值就要改变了prop的值是不允许在子组件改变的,那么就只能重新定义一个,属性selResourceModel,然后监控属性props:resourceTypeId,一旦修改就重新设置
selResourceModel这样就解决了

selResourceType () {
    this.$emit("selResourceType", this.selResourceModel)
}
watch: {
    resourceTypeId: function (newTypeId) {
        this.selResourceModel = newTypeId
    }
},

 

转载于:https://www.cnblogs.com/aquariusm/p/8116497.html

相关文章:

  • Atlassian发布JIRA项目组合管理解决方案
  • 图片后门恶意捆绑工具FackImageexploer
  • php扩展模块安装
  • Android Studio 3.0 Android 分析器 | 中文教学视频
  • GeoIP2 数据库更新地址
  • 个人常用iOS第三方库以及XCode插件介绍
  • 杭州数澜联合创始人 \u0026 CTO 江敏:大数据思维和大数据冶炼 —— 拒绝坐着金山吃馒头...
  • 重磅干货不容错过!2017云栖大会汇总资料,速来领取!
  • Linux—CentOS7,玩转samba服务,基于身份验证的共享
  • initial ram filesystem
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • 在Docker中运行tensorflow版的neural style
  • Zookeeper开源客户端框架Curator简介
  • 使用httpclient、htmlcleaner 、xpath 采集新浪微博3G站点数据
  • Redis Cluster(Redis 3.X)设计要点
  • 【刷算法】从上往下打印二叉树
  • bearychat的java client
  • ES6系列(二)变量的解构赋值
  • gitlab-ci配置详解(一)
  • Git学习与使用心得(1)—— 初始化
  • JavaScript标准库系列——Math对象和Date对象(二)
  • JAVA多线程机制解析-volatilesynchronized
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • Making An Indicator With Pure CSS
  • MySQL几个简单SQL的优化
  • PAT A1017 优先队列
  • Vue 动态创建 component
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 闭包,sync使用细节
  • 彻底搞懂浏览器Event-loop
  • 从0搭建SpringBoot的HelloWorld -- Java版本
  • 工作中总结前端开发流程--vue项目
  • 基于组件的设计工作流与界面抽象
  • 记一次和乔布斯合作最难忘的经历
  • 设计模式 开闭原则
  • 深入浅出Node.js
  • 写给高年级小学生看的《Bash 指南》
  • 再谈express与koa的对比
  • 终端用户监控:真实用户监控还是模拟监控?
  • # 执行时间 统计mysql_一文说尽 MySQL 优化原理
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • (python)数据结构---字典
  • (二)fiber的基本认识
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • (转)编辑寄语:因为爱心,所以美丽
  • .gitignore文件设置了忽略但不生效
  • .net mvc actionresult 返回字符串_.NET架构师知识普及
  • .NET 中各种混淆(Obfuscation)的含义、原理、实际效果和不同级别的差异(使用 SmartAssembly)
  • .NET 自定义中间件 判断是否存在 AllowAnonymousAttribute 特性 来判断是否需要身份验证
  • .Net(C#)自定义WinForm控件之小结篇
  • .net6Api后台+uniapp导出Excel
  • .NET开源全面方便的第三方登录组件集合 - MrHuo.OAuth
  • /etc/motd and /etc/issue