2.6.11
https://gist.github.com/aimozg/c073eea5a55062e3dcd8f887a8567807
在Node中运行example.js。
替代步骤/详细说明:
whitespace: 'condense'
设置Vue模板编译器。 (这是vue-cli的默认设置)。
实体的渲染模板,例如<p>a b</p>
实体呈现为不间断的空格字符; example.js输出应包含
---- whitespace: condense
// code
NBSP FOUND
实体呈现为普通空间,example.js输出包含
---- whitespace: condense
// code
NBSP NOT FOUND
此编译器代码剥离了空格:
if (!inPre && whitespaceOption === 'condense') {
// condense consecutive whitespaces into single space
text = text.replace(whitespaceRE, ' ')
}
和" "
s早先由实体解码器替换为"\xA0"
s。
相关问题是https://github.com/vuejs/vue/issues/10485
建议:
较窄的whiteRERE正则表达式,例如/[ \t\r\n]+/g
。
我们一般不应该碰触不间断的空间吗? 如果我在模板中使用一个,这就是我个人的期望。 它还可以解决您提到的问题
使用空格:“ condense”设置Vue模板编译器。 (vue-cli的默认设置) 。
等等,我很困惑。 condense
真的是默认值吗? 我看到许多声称preserve
实际上是默认值的东西。
我一直在努力弄清为什么我所有的牢不可破的空间都无法正常工作。 我本打算尝试强制保留,但随后看到:
埃文(Evan)说默认值为preserve
https://github.com/vuejs/vue/issues/9208#issuecomment -450012518
和回显该语句的编译器选项文档https://github.com/vuejs/vue/tree/dev/packages/vue-template-compiler#options
现在看到@aimozg说condense
实际上是默认值之后,我继续手动设置preserve
并确定! 一切恢复正常!
文档/实现错误吗?
不论哪种方式,为什么冷凝都会消除nbsp? 非常意外的行为。 我同意不应该感动他们。
Vue核心中保留了空格,以确保向后兼容,而在最新版本的Vue CLI中,我们默认将其配置为condense
。
与转义的标签	
很难显示代码
等待此合并。
当前解决方法
采用
{{'\xa0'}}
代替
最有用的评论
我们一般不应该碰触不间断的空间吗? 如果我在模板中使用一个,这就是我个人的期望。 它还可以解决您提到的问题