为了提供安全性,Vue中模板表达式会被放入沙盒中运行,并且无法访问用户定义的全局变量。这是因为模板中内容会被封装成一个函数运行,而使用with改变作用域的方式会导致无法使用未定义的变量,在Vue2中需要使用Vue.prototype将其注册到全局,在Vue3中使用app.config.globalProperties。此外,大多数全局变量都不是响应式的,因此Vue中不需要将其它部分也放入沙盒中。
2023-06-10 489 0
为了提供安全性,Vue中模板表达式会被放入沙盒中运行,并且无法访问用户定义的全局变量。这是因为模板中内容会被封装成一个函数运行,而使用with改变作用域的方式会导致无法使用未定义的变量,在Vue2中需要使用Vue.prototype将其注册到全局,在Vue3中使用app.config.globalProperties。此外,大多数全局变量都不是响应式的,因此Vue中不需要将其它部分也放入沙盒中。