uni-app 在.vue文件中的script标签中代码块无法触发
uni-app 在.vue文件中的script标签中代码块无法触发
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| HbuilderX | 3.2.12 | Vue |
操作步骤:
将上面的代码块放到vue代码块中,到vue文件里输入试试就知道了,注意输入位置。
预期结果:
只要是vue文件,应该在任何位置都可以触发,或者能够根据代码中的标签判断当前输入的是js还是vue代码,自动匹配js中的代码块。 或者可以提供一个通用的代码块,不区分语言,任何文件,任何位置,只要触发关键字就提示。
实际结果:
实际结果就是在标签script标签外可以,但是我想在script标签内输入
bug描述:
在代码块文件 vue.json中定义了以下一个片段,保存后
"adsasfkjhsdjkdf": {
"body": [
"js code ..."
],
"description": "aaasssddd",
"prefix": "aaasssddd"
}
然后在vue文件中的</template>之间输入,可以触发,见附件1;
在<script>标签下输入就不会触发,见附件2;
把上面的片段复制到javascript.json中也不能触发,如果文件扩展名是js,则可以触发。

更多关于uni-app 在.vue文件中的script标签中代码块无法触发的实战教程也可以访问 https://www.itying.com/category-93-b0.html
我也存在这个问题,它们的工程师,贴了一个他的示例地址:https://ask.dcloud.net.cn/question/137388给我,然儿并没有用。或者是我的操作不对吧,我已经放弃了HBX了,写uni项目的时候再用它吧。
更多关于uni-app 在.vue文件中的script标签中代码块无法触发的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这个问题是由于HBuilderX的代码片段(snippet)触发机制导致的。在.vue文件中,代码片段的触发是基于当前光标所在的语言区域来判断的。
原因分析:
- .vue文件是混合语言文件,包含template(html)、script(javascript/ts)、style(css/scss/less)三个部分
- HBuilderX会根据光标位置自动识别当前语言上下文
- 当光标在
<script>标签内时,编辑器将其识别为JavaScript上下文 - 因此只会触发javascript.json中定义的代码片段,而不会触发vue.json中的片段
解决方案:
- 在javascript.json中定义代码片段
将你的代码片段从vue.json移动到javascript.json中:
{ "aaasssddd": { "body": ["js code ..."], "description": "aaasssddd", "prefix": "aaasssddd" } }

