我在 VisualStudio 2017 中创建了一个 MVC 项目。
编辑: 我将 knockout a 和 jQuery 更新到最新版本。
我已经在底部包含了我的 .js 文件,并且在我尝试使用 jQuery 之前它工作正常。
在我的 .js 文件中:
function job(name) {
return {
name: ko.observable(name)
};
}
var viewModel = {
jobs: ko.observableArray([new job("johnny"), new job("anderson")]),
addJob: function () {
this.jobs.push(new job("Another job"));
},
}
ko.applyBindings(viewModel);
标记:
<script src="~/Scripts/jquery-3.3.1.min.js"></script>
<script src="~/Scripts/knockout-3.4.2.js" type="text/javascript"></script>
<h3>Jobs:</h3>
<ul data-bind="template: {name:'jobsTemplate', foreach:jobs}"></ul>
<script id="jobsTemplate" type="text/html">
<li>${ $data.name }</li>
</script>
页面输出 2 <li>
文本 ${ $data.name } 对我来说意味着不包括 jQuery。我可以在控制台中使用 jQuery。
感谢您的帮助!
最佳答案
Knockout 模板通过常规的knockout 数据绑定(bind)来工作。
<ul data-bind="template: {name:'jobsTemplate', foreach: jobs}"></ul>
<script id="jobsTemplate" type="text/html">
<li data-bind="text: name"></li>
</script>
关于javascript - 如何在 ASP.NET MVC5 中正确包含 jQuery 和 knockout.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49058196/