有没有自定义一个类似v-if、v-show的指令的思路
如
<div v-unwrap="false">111</div>
表现为
111
当值为false的时候,只有div这个父容器被移除了,但子节点还存在
有没有自定义一个类似v-if、v-show的指令的思路
如
<div v-unwrap="false">111</div>
表现为
111
当值为false的时候,只有div这个父容器被移除了,但子节点还存在
多谢邀请!
给你写了一个删除父元素的demo
,希望对你有所启发和帮助!
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>tab</title>
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
</head>
<body>
<div id="app">
<div>
<p v-unwrap:cr>111</p>
</div>
<div>
<p v-unwrap:gi>222</p>
</div>
</div>
<script type="text/javascript">
//定义一个全局指令
Vue.directive('unwrap', {
bind: function(el, binding) {
el.setAttribute("data-luozz", binding.arg);
el.onclick = function() {
document.querySelector("[data-luozz='" + binding.arg + "']").parentNode.remove();
}
}
});
new Vue({
el: '#app',
data: {},
methods: {}
})
</script>
</body>
</html>
注意
v-unwrap
冒号后面那个要像命名id
一样是唯一的,指令要根据这个来控制删除相应父节点。
9 回答1.7k 阅读✓ 已解决
6 回答1.5k 阅读
3 回答1.4k 阅读✓ 已解决
4 回答1.2k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
3 回答1k 阅读
3 回答1.3k 阅读✓ 已解决
使用.sync对一个 prop 进行“双向绑定”,看文档
https://cn.vuejs.org/v2/guide...