【发布时间】:2020-10-07 13:30:10
【问题描述】:
我正在使用 MVVM 样式绑定的 javascript 库。 (它是用KO Punches 增强的knockout,但我认为这适用于任何此类库。)
一个典型的标记如下所示:
<table data-bind="visible: data.topPlayers.length > 0">
<tbody data-bind="foreach: data.topPlayers">
<tr class="bold">
<td>{{user_id}}</td>
<td>{{displayName}}</td>
<td class="stickers">{{sticker_Count.toLocaleString()}}</td>
</tr>
</tbody>
</table>
{{binding}} 语法导致库用模型对象上的该属性替换大括号中的值。
我的问题是 Visual Studio 对此一无所知,因此我没有得到任何 Intellisense 或设计时类型检查。特别是,如果我更改视图模型上的某些内容,例如,我将user_id 清理为userId,我不会从编译器那里得到任何帮助来捕捉它。
这使得重构很危险。
有没有办法告诉 Visual Studio 我的标记和模型对象的语法,以便它可以在编辑器中提供这种帮助?
【问题讨论】:
-
你的项目类型是什么,你的VS版本是什么?
-
我使用的是“Microsoft Visual Studio Enterprise 2019,版本 16.6.2”,它是最新的。这是一个 .NET 4.7 MVC Web 项目。
标签: visual-studio mvvm data-binding knockout.js intellisense