今天在学习vue的过程中,遇到了一个小问题,在vue的模版<template>
标签中无法直接调用windows对象身上的方法,而react中可以,感觉这个问题还挺容易遇到的,来记录一下。
首先React
先看下面的简单的代码,
实现的页面如下:
点击按钮可以在控制台看到
接下来是Vue
代码如下,首先就会看到 @click
事件绑定就出现了报错。
页面如下
当我们点击按钮的时候,控制台会提示,找不到log
这个属性或者方法。
直接说结论,在vue的template
里都是使用了vue实例中或者Vue构造函数身上的属性和方法,当你在template
里调用console.log
方法时候,它会去vm(假设vm=new Vue())这个实例对象身上找console.log
这个方法,结果没有,那么就回去vm__proto__
原型对象身上找,那肯定也没有。
如果要用怎么办呢?
可以在<script>
标签中拿到window对象,然后自己使用。
至于为什么,目前对我来说还得继续学习Vue才可以下定论。