如何在外部JS文件中創建KO.JS ViewModel,然後在html文件中使用它?這似乎是這樣一個簡單的事情,但我不能得到它的工作,並找不到任何明確的信息,如何做到這一點。如果我忽略了,我會道歉,如果有人能指出我的答案,將會刪除此內容。在外部JavaScript文件中使用KnockoutJS ViewModel
外部VM:
var myApp = (function (myApp) {
myApp.ReportViewModel = function() {
var self = this;
self.test = ko.observable();
}
}(myApp || {}));
獨立的HTML文件:
<!DOCTYPE html>
<html>
<head><title>My Page</title></head>
<body>
<table>
<tr>
<td>First Name</td>
<td><input type="text" data-bind='value: test'/></td>
</tr>
</table>
<h2>Hello, <span data-bind="text: test"> </span>!</h2>
<!-- reference this *before* initializing -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"> </script>
<script src="http://ajax.aspnetcdn.com/ajax/knockout/knockout-2.2.1.js"></script>
<script src="myApp.js"></script>
<!-- fire off your app -->
<script>
($function(){
var reportVM = new myApp.ReportViewModel();
ko.applyBindings(reportVM);
});
</script>
編輯 我已經作出建議的更改。這是我的項目現在看起來像但它仍然無法正常工作。另外knockout.js代碼根本沒有運行。
你是否在你的主html中使用'''引用了你的腳本文件? – nemesv
是的,我已經添加了它 –