現在、ASP.NETを使用して開発中です。Knockout JSを使いたいと思います。基本的には、最初に提供されたコードをコピーして貼り付けたものですチュートリアル。ノックアウトJSを開始するには
だから、私はhead
にこれを置く:
<script type="text/javascript">
function() {
// This is a simple *viewmodel* - JavaScript that defines the data and
behavior of your UI
function AppViewModel() {
this.firstName = ko.observable("Bert");
this.lastName = ko.observable("Bertington");
this.fullName = ko.computed(function() {
return this.firstName() + " " + this.lastName();
}, this);
this.capitalizeLastName = function() {
var currentVal = this.lastName(); // Read the current value
this.lastName(currentVal.toUpperCase()); // Write back a modified value
};
}
// Activates knockout.js
ko.applyBindings(new AppViewModel());
}();
</script>
...
私body
で
<script type="text/javascript" src="Scripts/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="Scripts/knockout-2.0.0.js"></script>
と一緒に、私はコードがすべてのノックアウトから取られた
<!-- This is a *view* - HTML markup that defines the appearance of your UI -->
<p>
First name: <strong data-bind="text: firstName"></strong>
</p>
<p>
Last name: <strong data-bind="text: lastName"></strong>
</p>
<p>
First name:
<input data-bind="value: firstName" /></p>
<p>
Last name:
<input data-bind="value: lastName" /></p>
<p>
Full name: <strong data-bind="text: fullName"></strong>
</p>
<button data-bind="click: capitalizeLastName">
Go caps</button>
を置いJSのチュートリアルですが、どういうわけか、値は自動的にバインドされません。それは私にとってはうまくいかない。私はここに何かを逃していますか
こんにちは。それは私が体の底にスクリプトを置いたときに機能します。しかし、JavaScriptは常にトップに置かれるとは思われませんか? – matt
好ましくは底部にある。ブラウザがスクリプトの読み込みを開始する前に、要素を表示する必要があります(通常は*)。 – eppdog