0

我目前正在使用 DisplayTemplate 来显示我的模型的属性:

@Html.DisplayFor( m => m.TheProperty, "myTemplate")

模板输出图像的html,来源取决于模型(TheProperty)是否为空。

现在,我将视图中的所有绑定替换为淘汰赛绑定。所以看来我不能再使用 DisplayTemplates 了,可以吗?由于现在控件已绑定到 js ViewModel ,我将如何将模板传递给 Model ?

4

1 回答 1

0

KO 中的等价物是模板绑定,但是它的语法不是很好,就像

<div data-bind="template: { name: 'display-for-my-property', data: myProperty }"></div>

其中display-for-my-property是带有 myProperty 模板的脚本标签的 ID

如您所见,这个语法非常混乱,我制作了自己的库来解决这个问题

https://github.com/AndersMalmgren/Knockout.BindingConventions

使用我的 lib 相同的场景看起来像

<div data-name="myProperty"></div>

示例 http://jsfiddle.net/xJL7u/

你可以扩展我的库,这样你就可以做到

<div data-display="myProperty"></div>

<div data-editor="myProperty"></div>
于 2013-03-13T09:41:08.030 回答