Visual Studio Code中的HTML KnockoutJS智能感知

时间:2017-01-13 14:10:28

标签: typescript knockout.js visual-studio-code

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

{
  passReqToCallback: true,
  returnURL: config.app.returnUrl,
  realm: config.app.realm,
  apiKey: config.app.apiKey
}

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

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

example intellisense functionality

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

ko.applyBindings(myViewModel);

1 个答案:

答案 0 :(得分:0)

编辑


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

例如

添加绑定:

ko.applyBindings(seViewModel, document.getElementById("Div"));

使用绑定:

<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>

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


不知道为什么它对您不起作用,我用VS代码打开了一个旧项目,它已经在工作。它不仅为KO对象提供了自动完成功能,而且还为C#类中的viewmodel和controller动作方法提供了自动完成功能,我还添加了一个屏幕截图供参考 enter image description here

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

VS CODE详细信息

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

扩展名:

enter image description here

我添加了哪些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" />

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