我需要在textbox data-bind
中添加动态attr<input class="form-control" type="text" data-bind="
attr:{
name:$data.FieldName,
req: !$data.Nullable,
placeholder:$data.DefValue,
disabled:$data.Editable != null && !$data.Editable == true,
required: $data.Nullable != null && !$data.Nullable,
'data-bv-notempty':$data['data-bv-notempty'],
'data-bv-notempty-message': $data['data-bv-notempty-message']
},
value: $root.selScreen.isEditMode() ? ActualData : ''
">
如果我在列表下面的数组中定义那么它应该添加
'data-bv-notempty': $data['data-bv-notempty'],
'data-bv-notempty-message': $data['data-bv-notempty-message']
OR
'data-bv-notempty':'true',
'data-bv-notempty-message': 'This field can not be empty'
明智的
'data-bv-regexp':'true',
'data-bv-regexp-regexp':''^\d*'',
'data-bv-regexp-message': 'This field can only consist of integer value'
我在Array中添加的内容应该添加到
中data-bind="attr:{
'data-bv-regexp':'true',
'data-bv-regexp-regexp':''^\d*'',
'data-bv-regexp-message': 'This field can only consist of integer value'
}"
不想使用jQuery或Observable对象
答案 0 :(得分:0)
不想使用jQuery或Observable对象
您发布了包含jquery和knockout.js标记的问题,但您不想使用jQuery或observables?
我对你的问题的解释(如果我错了,请纠正我):
如何使用视图和 viewmodel 中定义的属性组合来使用
attr
绑定?
例如,在根视图模型中有一些默认值:
this.defaultAttributes = {
'data-bv-notempty':'true'
};
您希望在视图中添加这些默认值,同时还可以添加特定属性:
<div data-bind="attr: {
id: 'item-' + $index()
}">
</div>
我建议您使用Object.assign
合并两者:
<div data-bind="attr: Object.assign({
id: 'item-' + $index()
}, $root.defaultAttributes)">
</div>