怎么在vue中实现一个@change事件?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
& lt; ! DOCTYPE html> & lt; html  lang=癳n"祝辞 & lt; head> & lt;才能meta charset=癠TF-8"比; & lt;才能title> Title</title> & lt;/head> & lt; script  src=皏ue.js"祝辞& lt;/script> & lt; body> & lt;才能div id=癮pp"比; ,,,& lt; select name=啊? id=啊? @change=癵etCity (provinceId)“, v模型=皃rovinceId"比; ,,,,,& lt; option 价值=啊白4乔胙≡? lt;/option> ,,,,,& lt; option v=皃rovince provinces",拷贝:value=皃rovince.id"在{{province.text}} & lt;/option> ,,,& lt;/select> ,,,& lt; select name=啊? id=啊氨? ,,,,,& lt; option 价值=啊白4乔胙≡? lt;/option> ,,,,,& lt; option : value=癱ity.id", v=癱ity 拷贝citys"在{{city.text}} & lt;/option> ,,,& lt;/select> & lt;才能/div> & lt;/body> & lt; script> Vue ({new 才能; ,,,el: & # 39; #应用# 39; ,,,数据:{ ,,,,,省份:[], ,,,,,provinceId: & # 39; & # 39; ,,,,,香港:[], ,,,,,方面:[] ,,,}, ,,,:创建函数(),{ ,,,,,this.areas =, [,, ,,,,,,,{文本:& # 39;广东省& # 39;,id: 1, pid: 0},, ,,,,,,,{文本:& # 39;上海市& # 39;,id: 2, pid: 0}, ,,,,,,,{文本:& # 39;广州市& # 39;,id: 11日,pid: 1}, ,,,,,,,{文本:& # 39;中山市& # 39;,id: 12, pid: 1} ,,,,,); ,,,,,var ?this.areas.filter (function (地区),{ ,,,,,,,return area.pid ==, 0; ,,,,,}); ,,,,,this.provinces =,省; ,,,}, ,,,方法:{ ,,,,,getCity: function (id), { ,,,,,,,var 全市=this.areas.filter (function (市),{ ,,,,,,,,,return city.pid ==, id; ,,,,,,,}) ,,,,,,,this.citys =,全市; ,,,,,} ,,,} })才能 & lt;/script> & lt;/html>
如果按照平常的使用习惯,看起来好像没多大问题,切换父元素的时候监听改变事件联动子元素值的变化,很符合常年使用jQuery开发的习惯,效果如图:
& lt; select name=啊? id=啊? @change=癵etCity (provinceId)“, v模型=皃rovinceId"比; ,,,,,& lt; https://www.yisu.com/zixun/option 价值=" ">请选择> 选项 <选项)=笆∈ ?value=" province.id "> {{province.text}} 选项> 选择> <选择name=" " id=" "> <选项值=" ">请选择> 选项 <选择:value="的城市。id城市全市“v=> {{city.text}} 选项> 选择> <选择name=" " id=" " @change=癵etCity provinceId " v模型=" provinceId "> <选项值=" ">请选择> 选项 <选项)=笆∈ ?value=" province.id "> {{province.text}} 选项> 选择> <选择name=" " id=" "> <选项值=" ">请选择> 选项 <选择:value="的城市。id城市全市“v=> {{city.text}} 选项> 选择>
结果是互相受到影响,这并不是我们想看到的。
我的解决办法是,只要改为一个实时计算得到的数组而不是绑定现有仅有的同一个数组,代码改写如下:
& lt; select name=啊? id=啊氨? ,,,,,& lt; https://www.yisu.com/zixun/option 价值=" ">请选择> 选项 <选择:value="的城市。getCity id " v="的城市(provinceId) "> {{city.text}} 选项> 选择> getCity:函数(id) { var=this.areas城。过滤器(函数(市){ 返回城市。pid==id; }) 返回城市; }
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。