slice-type--{{ slice_count }} -6ren">
gpt4 book ai didi

javascript - 在vuejs中重新渲染模板

转载 作者:行者123 更新时间:2023-12-03 01:23:19 26 4
gpt4 key购买 nike

我是 vue.js 新手。

所以我试图弄清楚如何在每个点击事件中更改数据属性值。

这是我的 HTML 代码

<script type="text/html" id="tmpl-slice-<?php echo $slice_name; ?>">
<div class="slice-type-area slice-type-<?php echo $slice_name; ?> slice-type-<?php echo $slice_name; ?>-{{ slice_count }} p-3 mb-3">
<div class="slice-top">
<div class="d-flex align-items-center">
<h5 class="mb-0">{{ slice_title }}</h5>
<div class="ml-auto">
<button class="btn btn-warning rounded-circle btn-sm remove-slice" data-remove=".slice-type-<?php echo $slice_name; ?>-{{ slice_count }}"><i class="fas fa-times fa-sm"></i></button>
</div>
</div>
</div>
<div class="my-3"></div>

<div class="form-group">
<input type="text" name="slice[{{ slice_type }}][{{ slice_count }}][title]" class="form-control rounded-0"/>
</div>


<div class="form-group">
<textarea class="tinymce-area" id="tinymce-{{ slice_type }}-desc-{{ slice_count }}" name="slice[{{ slice_type }}][{{ slice_count }}][desc]"></textarea>
</div>
?>
</div>
</script>

这是我的 js 代码

$(document).on("click", ".add-slice", function(e) {
var t = $(this);
var slice_title = t.data("title");
var slice_type = t.data("type");
var slice_count = $(".slice-type-" + slice_type + "").length;

slice_count += 1;
console.log(slice_count);
var slice = new Vue({
el: '#tmpl-slice-' + slice_type + '',
data: {
slice_title: slice_count,
slice_type: slice_type,
slice_count: slice_count
},
});

$("#get_slices").prepend($("#tmpl-slice-" + slice_type + "").html());
// Apply tinymce Editor to textarea elements
tinyMCE.execCommand('mceAddEditor', true, "tinymce-" + slice_type + "-desc-");

e.preventDefault();
});

所以我的问题是 var slice_count 应该将 1 添加到从 count slice 类型元素获得的结果中,但是在渲染时,值未更改始终是 1 从第一次渲染获得的第一个值

最佳答案

每次单击按钮时,您都会创建新的 Vue 实例并以编程方式重写现有 DOM 元素,但您的 DOM 元素不会重新渲染,因为如果您将 vue 实例保留在该单击事件之外,则 react 性适用于 vue 实例。这种做法适用于 jQuery,但不适用于 Vue 实例。

Vue 使用虚拟 DOM 管理进行重新渲染。我建议最好避免使用 jQuery,Vue 足够聪明,可以在 html 中对其 prop 进行双向绑定(bind)。

如果您想在 vue 中开发代码,那么您必须点击以下链接。对于初学者来说,它非常简单且有条理。

https://v2.vuejs.org/v2/guide/

https://012.vuejs.org/guide/

您可以启动您的应用程序 https://medium.com/@BMatt92656920/getting-started-with-vue-webpack-bootstrap-fb69b24e6f3d

你可以在这里得到很多 UI 的东西 https://madewithvuejs.com/

关于javascript - 在vuejs中重新渲染模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51660545/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com