Vue选项/其他
Vue选项/其他
- name
- delimiters
- functional
- model
- inheritAttrs
- comments
name
- 类型:
string
- 限制:只有作为组件选项时起作用。
- 详细:允许组件模板递归地调用自身。注意,组件在全局用
Vue.component()
注册时,全局 ID 自动作为组件的 name。
指定name
选项的另一个好处是便于调试。有名字的组件有更友好的警告信息。另外,当在有 vue-devtools,未命名组件将显示成<AnonymousComponent>
,这很没有语义。通过提供name
选项,可以获得更有语义信息的组件树。
delimiters
- 类型:
Array<string>
- 默认值:
["{ {", "}}"]
- 限制:这个选项只在完整构建版本中的浏览器内编译时可用。
- 详细:改变纯文本插入分隔符。
示例:
new Vue({
delimiters: ['${', '}']
})
// 分隔符变成了 ES6 模板字符串的风格
functional
- 类型:
boolean
- 详细:
]
使组件无状态 (没有data
) 和无实例 (没有this
上下文)。他们用一个简单的render
函数返回虚拟节点使他们更容易渲染。
model
- 类型:
{ prop?: string, event?: string }
- 详细:允许一个自定义组件在使用
v-model
时定制 prop 和 event。默认情况下,一个组件上的v-model
会把value
用作 prop 且把input
用作 event,但是一些输入类型比如单选框和复选框按钮可能想使用value
prop 来达到不同的目的。使用model
选项可以回避这些情况产生的冲突。
示例:
Vue.component('my-checkbox', {
model: {
prop: 'checked',
event: 'change'
},
props: {
// this allows using the `value` prop for a different purpose
value: String,
// use `checked` as the prop which take the place of `value`
checked: {
type: Number,
default: 0
}
},
// ...
})
<my-checkbox v-model="foo" value="some value"></my-checkbox>
上述代码相当于:
<my-checkbox
:checked="foo"
@change="val => { foo = val }"
value="some value">
</my-checkbox>
inheritAttrs
- 类型:
boolean
- 默认值:
true
- 详细:默认情况下父作用域的不被认作 props 的特性绑定 (attribute bindings) 将会“回退”且作为普通的 HTML 特性应用在子组件的根元素上。当撰写包裹一个目标元素或另一个组件的组件时,这可能不会总是符合预期行为。通过设置
inheritAttrs
到false
,这些默认行为将会被去掉。而通过实例属性$attrs
可以让这些特性生效,且可以通过v-bind
显性的绑定到非根元素上。
注意:这个选项不影响
class
和style
绑定。
comments
- 类型:
boolean
- 默认值:
false
- 限制:这个选项只在完整构建版本中的浏览器内编译时可用。
- 详细:当设为
true
时,将会保留且渲染模板中的 HTML 注释。默认行为是舍弃它们。
还没有评论,来说两句吧...