我是Vue的新手并且有一些问题.但我认为我正在运行的问题是我不知道如何解决它的问题:
<div class="foo">我的代码中有一些.我想<div>使用Vue实例与这些s进行交互.我有想法使用类似的东西:
var app = new Vue({
el: 'div.foo',
data: {
message: 'bar'
}
})
Run Code Online (Sandbox Code Playgroud)
因此,所有div.foo元素都可以通过管理来实现app.但是,我怎样才能完全得到我正在使用的元素?
让我们说在JQuery中我们有这个......
$("div.foo").click(function() {
console.log($(this));
})
Run Code Online (Sandbox Code Playgroud)
代码将适用于每一个div.foo,但打印将只显示单击的元素.
Ber*_*ert 18
您不能按照建议进行操作,但可以为匹配选择器的每个元素创建一个新的Vue.
每个人都会拥有自己的状态.
const vues = document.querySelectorAll(".app");
Array.prototype.forEach.call(vues, (el, index) => new Vue({el, data:{message: "hello " + index}}))
Run Code Online (Sandbox Code Playgroud)
例子.
如果你想要一个共享状态,
const vues = document.querySelectorAll(".app");
const each = Array.prototype.forEach;
const data = {
message: "hello world"
};
each.call(vues, (el, index) => new Vue({el, data}))
Run Code Online (Sandbox Code Playgroud)
在这一点上你可以做类似的事情data.message = "new value",所有的Vues都会改变.
例2.
这只是我在玩耍.您可能建议只创建一个Vue并管理所有foos.
| 归档时间: |
|
| 查看次数: |
4818 次 |
| 最近记录: |