Visual Studio Code中的HTML KnockoutJS智能感知

won*_*nea 10 knockout.js typescript visual-studio-code

使用Visual Studio代码我想基于绑定启用HTML KnockoutJS intellisense.当我使用TypeScript(TS)并在代码中绑定模型时,有一个障碍:

ko.applyBindings(myViewModel);
Run Code Online (Sandbox Code Playgroud)

生成所有TS文件并将其呈现到app.js中

我想在这里找到类似的功能. https://johnpapa.net/knockout-intellisense-in-visual-studio-2012/

示例智能感知功能

注意:我正在使用KnockoutJS的调试版

<script src="libraries/knockout-3.4.1.debug.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

Pra*_*ngh 1

编辑


在写完答案后注意到一件事,您正在正确应用绑定,但是在函数名称之前缺少对象名称之后,这里有什么区别:

例如,

添加绑定:

ko.applyBindings(seViewModel, document.getElementById("Div"));
Run Code Online (Sandbox Code Playgroud)

使用绑定:

<div data-bind="foreach: ko.utils.arrayFilter(seViewModel.ImplementationModels(), function(item) {return item.ModelType()==globalMessages.IN_A_DAY})">
                                                                        <label class="checkbox-inline">
                                                                            <input type="radio" group="implementationModelGroup" class="implementationModelCheck" data-bind="value: ImplementationModelId, click: seViewModel.ImplementationModelCheckBoxClick.bind($data), checked:seViewModel.ImplementationModelCheckedValue()" />
                                                                            <span class="subData text-break" data-bind="text: ImplementationModelName"></span>
                                                                        </label>
                                                                    </div>
Run Code Online (Sandbox Code Playgroud)

在这里,如果我不使用视图模型名称seViewModel自动完成功能不起作用


不知道为什么它不适合你,我在 VS code 中打开了一个旧项目,它已经可以工作了。它不仅为 KO 对象提供自动完成功能,还为 C# 类中的视图模型和控制器操作方法提供自动完成功能,我添加了屏幕截图以供参考 在此输入图像描述

我正在添加我当前的项目设置和扩展,它可能会对您有所帮助。

VS 代码详细信息

Version: 1.26.1
Commit: 493869ee8e8a846b0855873886fc79d480d342de
Date: 2018-08-16T18:38:57.434Z
Electron: 2.0.5
Chrome: 61.0.3163.100
Node.js: 8.9.3
V8: 6.1.534.41
Architecture: x64
Run Code Online (Sandbox Code Playgroud)

扩展:

在此输入图像描述

我添加了哪些 KO 文件:

 <Content Include="Scripts\libs\knockout-3.4.0.js" />
 <Content Include="Scripts\libs\knockout.mapping-latest.js" />
 <Content Include="Scripts\libs\knockout.validation.min.js" />
Run Code Online (Sandbox Code Playgroud)

它是ASP.NET MVC项目,KO用于模型属性绑定。