在一些Knockout例子中,直接在htm中添加scripts写viewmodel,如何能将让ViewModel从htm中剥离出去呢?从knockout官网上找到了解决方法,如下:

1.knockout.htm

<html>
<head>
<script type="text/javascript" data-main="init.js" src="require.js"></script>
</head>
<body>
<p>First name:
<input data-bind="value: firstName" /></p>
<p>First name capitalized: <strong data-bind="text: firstNameCaps"></strong></p>
</body>
</html>

2.init.js

require(['knockout-2.1.0', 'appViewModel'], function (ko, appViewModel)
{
ko.applyBindings(new appViewModel());
});

3.appViewModel.js

define(['knockout-2.1.0'], function (ko) {
return function appViewModel() {
this.firstName = ko.observable('Bert');
this.firstNameCaps = ko.computed(function ()
{
return this.firstName().toUpperCase();
}, this);
};
});

这样就不必在htm中写一大堆js代码了。

最新文章

  1. mac os设置root密码
  2. IOS网络第二天 - 09-多值参数
  3. 在AndroidStudio不能找到so文件问题:couldn&#39;t find libweibosdkcore.so
  4. Object C语法学习
  5. No.009 Palindrome Number
  6. jquery上传插件uploadify 报错http error 302 解决方法之一
  7. 由链表初始化看C语言的二级指针
  8. struts2必需jar包
  9. CentOS升级Python2.7导致使用pip等命令安装模块失败
  10. 《JavaScript高级程序设计》 -- 变量、作用域和内存问题(二)
  11. [Kubernetes]深入理解StatefulSet
  12. Error occurred during initialization of VM Incompatible initial and maximum heap sizes specified
  13. 执行shell脚本提示“-bash: ./checkP.sh: /bin/sh^M: bad interpreter: No such file or directory”解决方法
  14. python 元类的简单解释
  15. Angular2入门:TypeScript的类型 - 数组解构
  16. CSS——超链接颜色设置
  17. android: 发送自定义广播
  18. 自己用过的一些比较有用的css3新属性
  19. 版本控制工具(下)——Git的远程仓库、分支管理与其它操作
  20. 洛谷——P2683 小岛

热门文章

  1. NGINX源代码自我总结(一)
  2. (素材源代码) 猫猫学iOS 之UIDynamic重力、弹性碰撞吸附等现象牛逼Demo
  3. 算法笔记_219:泊松分酒(Java)
  4. ReactNative踩坑日志——函数绑定this
  5. ES6学习笔记十一:编程风格技巧
  6. Eclipe快捷键
  7. 2011的n次方
  8. JBoss和tomcat的区别
  9. 【php+uploadify3.2】上传按钮点击一点反应都没有,原因
  10. Struts2常见配置(草稿)