如何使用 Jeykll 防止 Vue 组件的属性名称小写或小写转换
How to Prevent downcase or lowercase conversion of attribute names for a Vue component with Jeykll
我在 Jekyll 项目中使用 Vue 组件 vue-carousel。除了通过属性进行控制外,一切正常,因为组件需要驼峰式大小写,但 Jekyll 将属性转换为小写。所以我的代码:
<carousel
:perPage="1"
:navigationEnabled="true"
:navigationNextLabel="'❯'"
:navigationPrevLabel="'❮'"
:paginationEnabled="false"
class="gr__carousel">
{% for slide in include.content.slides %}
{% include slide.html %}
{% endfor %}
</carousel>
生成属性:
<div
class="VueCarousel gr__carousel"
perpage="1"
navigationenabled="true"
navigationnextlabel="❯"
navigationprevlabel="❮">
...
</div>
来自Why Jekyll convert my Capital words into lowercase in Categories
的一个解决方案
是编辑 Jekyll gem 但我想尽可能避免这种情况。对于这种情况还有其他解决方法吗?
Vue 允许用于传递道具的属性使用驼峰式或 kebab-case。因此,如果 Jekyll 导致 :perPage
出现问题,您可以改用 :per-page
。
https://vuejs.org/v2/guide/components-props.html#Prop-Casing-camelCase-vs-kebab-case
https://vuejs.org/v2/style-guide/#Prop-name-casing-strongly-recommended
Vue 将在创建组件实例时规范化这些 prop 名称,因此在实例上使用驼峰命名法始终可以访问它们。所以不管怎么传都是this.perPage
我不是 100% 确定,但我认为转换是在 normalizeProps
:
中完成的
我在 Jekyll 项目中使用 Vue 组件 vue-carousel。除了通过属性进行控制外,一切正常,因为组件需要驼峰式大小写,但 Jekyll 将属性转换为小写。所以我的代码:
<carousel
:perPage="1"
:navigationEnabled="true"
:navigationNextLabel="'❯'"
:navigationPrevLabel="'❮'"
:paginationEnabled="false"
class="gr__carousel">
{% for slide in include.content.slides %}
{% include slide.html %}
{% endfor %}
</carousel>
生成属性:
<div
class="VueCarousel gr__carousel"
perpage="1"
navigationenabled="true"
navigationnextlabel="❯"
navigationprevlabel="❮">
...
</div>
来自Why Jekyll convert my Capital words into lowercase in Categories
的一个解决方案是编辑 Jekyll gem 但我想尽可能避免这种情况。对于这种情况还有其他解决方法吗?
Vue 允许用于传递道具的属性使用驼峰式或 kebab-case。因此,如果 Jekyll 导致 :perPage
出现问题,您可以改用 :per-page
。
https://vuejs.org/v2/guide/components-props.html#Prop-Casing-camelCase-vs-kebab-case
https://vuejs.org/v2/style-guide/#Prop-name-casing-strongly-recommended
Vue 将在创建组件实例时规范化这些 prop 名称,因此在实例上使用驼峰命名法始终可以访问它们。所以不管怎么传都是this.perPage
我不是 100% 确定,但我认为转换是在 normalizeProps
: