为了账号安全,请及时绑定邮箱和手机立即绑定

为什么模板改的是outerHTML而不是innerHTML?

<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Vue入门</title><script src="./vue.js">{{msg}}</script></head><body><div id="root" v-on:click="handleClick">Hello world 1!{{msg}}</div><script>var dom111= document.getElementById("root");dom111.innerHTML = "Hello World3";dom111.innerHTML = "{{msg}}";new Vue({el:"#root",//加上模板这句,发现id为root的outHTML被替换为<h1>了,不是innerHTML//为什么和老师讲的不一样?//template : "<h1>Hello {{msg}}",  data:{msg : "Hello world 2!"},methods:{handleClick : function(){this.msg = "world5";}}});</script></body></html>


正在回答

2 回答

现在解决了吗?没有解决的话我的回答是:

template : "<h1>Hello {{msg}}",

造成改变元素标签原因在于你自行增添的<h1>标签样式覆盖引起。

data:{msg : "Hello world 2!"},

0 回复 有任何疑惑可以回复我~
<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>Vue入门</title>
<script src="./vue.js">{{msg}}</script>
</head>
<body>
<div id="root" v-on:click="handleClick">Hello world 1!{{msg}}</div>
<script>
var dom111= document.getElementById("root");
dom111.innerHTML = "Hello World3";
dom111.innerHTML = "{{msg}}";
new Vue({
el:"#root",
//加上模板这句,发现id为root的outHTML被替换为<h1>了,不是innerHTML
//为什么和老师讲的不一样?
template : "<h1>Hello {{msg}}",  
data:{msg : "Hello world 2!"},
methods:{handleClick : function(){this.msg = "world5";
}}});
</script>
</body></html>


0 回复 有任何疑惑可以回复我~
#1

慕雪7077745

这个就是这样的 template内容只能有且一个根元素 也是为了这样考虑的 使用模板 即用模板的根元素代替掉原来的根元素; 一般根实例中不用template 而是Vue组件中多用到
2021-07-10 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么模板改的是outerHTML而不是innerHTML?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信