vue2 疑难问题 解析
1.[Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop's value. Prop being mutated: "state"

解析:vue2.0 禁止子组件修改父组件的数据
方案一:父组件每次传一个对象给子组件,对象之间是引用的
例如:giveData 为一个对象
父组件:
<child-com :msg="giveData"></child-com>
data(){
return {
giveData: {value: false}
}
}
子组件:
// 传值
props: {
giveData: {
type: Object,
default(){
return {
value: false
}
}
}
}, // 监听
watch:{
giveData: {
handler: function (val, oldVal) {
console.log(val);
},
deep: true
}
}, // 获取
console.log(this.giveData.value); // false
方案二:只是不报错,mounted中转
例如:
<template>
<div class="timeCell">
<mt-switch v-model="value" @change="turn"></mt-switch>
</div>
</template> <script>
export default {
props:{
state:{
type:Boolean,
default:false
}
},
data(){
return{
value: false
}
},
mounted(){
this.value = this.state;
},
methods:{
turn(){
console.log(this.value);
}
}
}
</script> <style lang="less" scoped> </style>
2.[Vue warn]: Failed to mount component: template or render function not defined.
无法安装组件:未定义模板或渲染函数。

解析:webpack2 中不允许混用import和module.exports
方案:
将

改为

即可
3.使用 mint-ui 中的 Datetime Picker 报错
[Vue warn]: Error in mounted hook: "TypeError: this.currentValue.split is not a function"
TypeError: this.currentValue.split is not a function

解析:pickerStartValue 、pickerEndValue 格式有误
方案:
将

改为

即可
<template>
<div>
<!-- 头部 -->
<mt-header title="重点时段管理"></mt-header>
<!-- 时间设置 -->
<div class="addTime">
<ul>
<li @click="openStartPicker">时段始于:{{pickerStartValue}}</li>
<li @click="openEndPicker">时段止于:{{pickerEndValue}}</li>
</ul>
<mt-datetime-picker
ref="pickerStart"
type="time"
v-model="pickerStartValue"
@confirm="handleStartConfirm"
></mt-datetime-picker>
<mt-datetime-picker
ref="pickerEnd"
type="time"
v-model="pickerEndValue"
@confirm="handleEndConfirm"
></mt-datetime-picker>
</div>
</div>
</template> <script>
export default {
data(){
return{
pickerStartValue:'09:30',
pickerEndValue:'17:30'
}
},
methods: {
openStartPicker() {
// 开启开始日期选择器
this.$refs.pickerStart.open();
},
openEndPicker() {
// 开启结束日期选择器
this.$refs.pickerEnd.open();
},
handleStartConfirm(){
console.log('确定');
},
handleEndConfirm(){
console.log('确定');
}
}
}
</script> <style lang="less" scoped>
.addTime{
ul{
margin-top: 20px;
li{
display: block;
margin: 0px auto;
width: 80%;
height: 40px;
line-height: 40px;
border-bottom: 1px solid #ddd;
text-indent: 1em;
}
}
}
</style>
.
vue2 疑难问题 解析的更多相关文章
- 天天都在用Git,那么你系统学习过吗?(一)学习过程
你系统学习Git了吗? 使用Mac编程的好处,不是因为Mac长得好看 Git内容学习准备 如果你还没有用Git,就不要写代码了. GitHub仓库的使用. 新员工入职的时候,会让他先用一周的时间去学习 ...
- Kafka核心技术与实战,分布式的高性能消息引擎服务
Kafka是LinkedIn开发并开源的一套分布式的高性能消息引擎服务,是大数据时代数据管道技术的首选. 如今的Kafka集消息系统.存储系统和流式处理平台于一身,并作为连接着各种业务前台和数据后台的 ...
- GIT学习——天天都在用Git,那么你系统学习过吗?(学习过程)
你系统学习Git了吗? 学习圣思园张龙老师的Git课程. 使用Mac编程的好处,不是因为Mac长得好看 Git内容学习准备 如果你还没有用Git,就不要写代码了. GitHub仓库的使用. 新员工入职 ...
- Vue2 原理解析
现代主流框架均使用一种数据=>视图的方式,隐藏了繁琐的dom操作,采用了声明式编程(Declarative Programming)替代了过去的类jquery的命令式编程(Imperative ...
- latex用法疑难解析
latex用法疑难解析 1.问题:如何生成ps(PostScript)文件? 回答: 方法有二 (1)用dvips这个工具,在WinEdt编辑器中专门有一个按钮: (2)如果使用windows系统的话 ...
- 解析vue2.0的diff算法 虚拟DOM介绍
react虚拟dom:依据diff算法台 前端:更新状态.更新视图:所以前端页面的性能问题主要是由Dom操作引起的,解放Dom操作复杂性 刻不容缓 因为:Dom渲染慢,而JS解析编译相对非常非常非常快 ...
- 解析vue2.0中render:h=>h(App)的具体意思
render:h=>h(App)是ES6中的箭头函数写法,等价于render:function(h){return h(App);}. 注意点:1.箭头函数中的this是 指向 包裹this所在 ...
- Vue2.0原理-模板解析
下面这段代码,vue内部做了什么操作?我去源码里面找找看 new Vue({ el: '#app' }) 入口 vue 的入口文件在 src/core/instance/index.js, 里面一进来 ...
- 一步步疑难解析 —— Python 异步编程构建博客
声明:该项目学习资源主要来自廖雪峰的Python教程,参见 http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6 ...
随机推荐
- 历史Linux镜像的问题修复方案
历史Linux镜像创建的ECS云服务器,可能存在NTP没有配置,YUM没有配置,还可能存在最近暴漏较高的安全漏洞,请按照以下步骤进行修复,可以让您的云服务器更加安全,还可以使用阿里云提供的YUM服务进 ...
- 用最优方法从LinkedList列表中删除重复元素
用运行速度最优的方法从LinkedList列表里删除重复的元素,例如A->B->BB->B->C,返回A->B->BB->C. 考试的时候没完全想明白,考完又 ...
- 【bzoj1266】[AHOI2006]上学路线route 最短路+最小割
题目描述 可可和卡卡家住合肥市的东郊,每天上学他们都要转车多次才能到达市区西端的学校.直到有一天他们两人参加了学校的信息学奥林匹克竞赛小组才发现每天上学的乘车路线不一定是最优的. 可可:“很可能我们在 ...
- [HNOI2011][bzoj 2329] 括号修复 [splay+前缀和]
题面: http://www.lydsy.com/JudgeOnline/problem.php?id=2329 思路: 显然,操作4中输出补全的最小费用是关键 这决定了我们不可能在splay上只维护 ...
- Gym 100989E 字符串
Description standard input/output Islam is usually in a hurry. He often types his passwords incorrec ...
- Python之面向对象:封装
1.封装的概念 将对象的数据与操作数据的方法相结合,通过方法将对象的数据与实现细节保护起来,就称为封装.外界只能通过对象的方法访问对象,因此封装同时也实现了对象的数据隐藏. 在使用面向对象的封装特性时 ...
- django学习——通过get_FOO_display 查找模型中的choice值
在django的models.py 中,我们定义了一些choices的元组,类似一些字典值,一般都是下拉框或者单多选框,例如 0对应男 1对应女等. class Area(models.Model): ...
- photoshop 安装
Photoshop 下载: http://www.duote.com/soft/54352.html 下载完后解压选择..\Adobe CS6\Set-up.exe ,点击 Set-up.exe ...
- struts 中继承ActionSupport类
理论上Struts 2.0的Action无须实现任何接口或继承任何类型,但是,我们为了方便实现Action,大多数情况下都会继承 com.opensymphony.xwork2.ActionSuppo ...
- SQL存储过程基础
什么是存储过程呢?存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令. 通俗来讲:存储过程其实就是能完成一定操作的一组SQL语句. 那为什么要用存储过程呢?1.存储过程只在创造时进行编译, ...