来自knockout.js视图模型的文本没有显示在html中
Text from knockout.js viewmodel not showing in html
我正在使用MVC 4玩Knockout的前端架构。我目前有以下脚本在我的前端…
<script type="text/javascript" src="~/Scripts/knockout-2.2.0.js"></script>
<script type="text/javascript" src="~/Scripts/knockout.mapping-latest.js"></script>
<script type="text/javascript">
// This is a simple *viewmodel* - JavaScript that defines the data and behavior of your UI
function AppViewModel() {
this.merchantName = ko.observable("Store");
}
// Activates knockout.js
ko.applyBindings(new AppViewModel());
</script>
<p>Merchant name: <strong data-bind="text: merchantName"></strong></p>
问题是merchantName属性的数据没有显示在HTML中。我在Knockout教程页面http://learn.knockoutjs.com/#/?tutorial=intro上运行相同的代码一切都很好。你觉得问题出在哪里。另外,我在前端开发方面还是新手。什么是最好的方式来调试除chrome调试器以外的淘汰问题?
谢谢!
您可以使用以下2中的任何一个用于ko.applyBindings
:
- 在DOM顶部添加
document.onload
检查 - 在DOM加载后的底部,没有任何检查
来自文档:http://knockoutjs.com/documentation/observables.html
You can either put the script block at the bottom of your HTML document, or you can put it at the top and wrap the contents in a DOM-ready handler such as jQuery’s $ function.
只有在DOM已经加载之后才使用knockout.js。在您的示例中,只需输入
<p>Merchant name: <strong data-bind="text: merchantName"></strong></p>
放到文件的顶部
还要注意,在大多数情况下,将javascript放在</body>
关闭之前是很好的做法
相关文章:
- Brightcove获取/显示HTML中的当前视频标题和描述
- HTML 标记未在 AngularJS ckEditor 中应用,而是在 Ediator 中显示 HTML 元素标记代码
- 使用jqLite隐藏和显示html元素
- 如何在不打断标记的情况下突出显示html字符串中的文本
- JS来显示HTML标记
- 如果javascript打开/关闭,则隐藏和显示html代码
- 用javascript显示html表
- 显示HTML代码块
- Regex有助于突出显示html中匹配文本的角度过滤器
- 为什么WebBrowser控件在保存后不能正确显示HTML
- 如何通过ibmworklight中的sql适配器从db2中检索或显示html页面上的数据?android混合应用程序开发
- 如何使用window.showModalDialog()显示HTML内容
- JavaScript if else 语句来显示 html 标签
- 使用 js 函数显示 HTML 表单的结果
- 如何在不点击的情况下突出显示 HTML 中的文本
- 如何隐藏和显示 html 输入文本和段落
- 使用 javascript 解析和显示 HTML 音频当前时间
- 有什么方法可以在HTML页面中显示HTML代码吗
- 在自动完成jqueryUi中显示html
- 单击并用CTRL+C复制值时高亮显示html表格单元格