男神章鱼哥
<ul>
<li v-for="(item,index) in arr" :key="index" @click="chooseLi(index,$event)">{{item}}
</li>
</ul>chooseLi: function (index,event) {
alert(this.arr[index]);
this.chooseData = event.currentTarget.innerHTML.toString();
}
慕木暮目
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title><script src="./vue.js"></script></head><body><div id="app"></div><script>new Vue({el: "#app",template: "<h1>{{fullDate}}</h1>",computed: {fullDate: function () {let now = new Date();let year = now.getFullYear();let month = now.getMonth();let date = now.getDate();return `${year}-${month}-${date}`; //根据自己的需要拼接字符串},},});</script></body></html>
软萌淑
computed 需要 return 回去
慕先生5527384
watch下的方法主要是行为、动作方法,如课堂上老师讲的count++
慕移动1320446
不应该是fullName吗
qq_慕神0343020
你的冒号是中文的,大哥。。。
爱学习的不动明
难道就没人发现括号匹配不对吗?computed:{}的右括号将整个watch的内容都包住了……注意IDE里面的左右括号匹配提示。
慕娘3306793
11111
weixin_慕标940172
我知道了 new vue 没大写
qq_慕码人8528369
watch
慕虎3255728
我加了两个变量,zero判断是否通过input修改传值,firstC判断是否第一次点击重置按钮
watch: {
num:function(){
if(!this.zero)
{this.count++,firstC=true}
else{
this.zero = false
}
}
},
methods: {
reset:function(){
if(firstC){
this.num='';
this.zero = true;
this.count = 0;
firstC = false;
}else{
alert("点一次就行了!")
}
}
},
慕先生4447456
之间需要用逗号隔开,你的#root后没有逗号
qq_云水边静沐暖阳_04205942
哦,代码写错了firsrName:'',
君子惜花花满楼
页面只要重新渲染,计算属性中有相关的依赖会执行一次,如果将count++放入计算属性的话,count在页面中第一次显示就是1,此时并没有做任何改变,而需要在侦听器watch中侦听改变时才会重新求值。
小师弟_
忘记引用vue.js文件了
weixin_慕勒3094938
这个问题很简单,其实就是在生成实例的时候吧方法写错了,new Vue 里面的V是大写,然后亲漏了了一个逗号哈
qq_慕丝3367668
<meta charset="UTF-8">写了没
慕前端2462068
firstName和lastName是属性并不是变量,直接相加肯定会报错的
阿拉斯加大大
使用 methods 来替代 computed,效果上两个都是一样的,但是 computed 是基于它的依赖缓存,只有相关依赖发生改变时才会重新取值。而使用 methods ,在重新渲染的时候,函数总会重新调用执行。
河北小王爷99
不好意思 侦听器事件里 firstName 我漏写了一个t
Never_Chan
data{},没加逗号
qq_若相依_5
vue实例中的el后的挂载点指向有问题,没有加入双引号。el:"#root",
小太阳和小月亮
sublime粉+1
幕布斯6549210
好像computed与watch之间少一个 }
慕函数4402849
是的,只是记录操作次数,删除操作也会被记录
黄邦沛
可以通过监听计算属性来代替直接监听,比如像下面这样,通过监听msgMsg1来间接达到效果
computed : {
msgMsg1 : function () {
return this.msg.msg1;
}
},
watch : {
msgMsg1 : function () {
this.msgCount++;
}
}
zouz
这也不算什么bug,watch侦听的是输入框的改变,你用中文,还没有enter,就代表还没有输入,
积极废人_
①你的点写成了逗号
②firstName 改成 fullName即可
qq_Bigboss_hyDEFT
这里的count并不是计算你的输入的值的长度,而是记录你操作(包括输入和删除)的次数。即使你删除一个导致长度变短了,但是count还是记录你只是执行了一次操作而已
小涵加油
在data里面设置fullName:''