【发布时间】:2019-05-10 14:46:20
【问题描述】:
我正在寻找两个 Vue 组件的简洁示例。第一个组件应该包含一个文本输入或文本区域。第二个组件显示一个字符计数器。我希望第一个组件发出更改事件,第二个组件应该监听这些事件并显示其计算值(字符数)。我是 Vue 的新手,并试图围绕实现此功能的最佳方法。在纯 JavaScript 中看起来相当简单,但是用 Vue 的方式来做这件事对我来说不是很清楚。谢谢。
这是我在 JavaScript 中的做法:
这是文本区域:
<textarea id="pagetext" name="pagetext"
onChange="characterCount();"
onKeyup="characterCount();">Type here</textarea>
这是 JavaScript:
function characterCount()
{
var characters=document.myForm.pagetext.value.length;
document.getElementById('charcounter').innerHTML=characters+"";
}
我对 Vue 的担忧是传递整个价值……出于性能原因,这似乎不太理想。我可能希望我的文本编辑 Vue 组件自包含值并发出统计信息,即字符计数的值,然后由文本统计组件观察。
【问题讨论】:
-
非常简单,您使用事件和道具将值从一个组件传播到另一个组件。在这种情况下,您可能希望将输入值发送到其父级。在那里,您可以直接计算输入长度或通过 prop 将值推送到另一个子组件。
-
用纯JavaScript写一个demo sn-p,我们可以教你如何修改成Vue的方式。
-
添加了一个普通的旧 JavaScript sn-p 和一个性能问题。
标签: vue.js