我发现不用jquery(document).ready()不行:
<script>
Vue.componue('test',{...});
new Vue().$mount("#t");
</script>
<div id="t">
<test></test>
</div>
上面代码并没有产生效果.
<script>
jQuery(document).ready(function(){
Vue.componue('test',{...});
new Vue().$mount("#t");
});
</script>
<div id="t">
<test></test>
</div>
这样才可以。可是这肯定不合理,因为vue不可能一定要依赖jquery。
###把 script
标签放到挂载的目标元素后面就可以了:
<div id="t">
<test></test>
</div>
<script>
Vue.componue('test',{...});
new Vue().$mount("#t");
</script>
脚本后置还可以缩短首屏渲染时间。
###Vue.componue('test',{...});
new Vue().$mount("#t");
我有点疑问:为啥要在所有元素都加载完了之后再去执行这段代码?
document.ready
方法在DOM树加载完成后执行,那下面这段代码执行的时候,test
组件还没定义呢,不会报错吗?
<div id="t">
<test></test>
</div>