【发布时间】:2017-09-07 00:36:33
【问题描述】:
我正在为 Knockout 做介绍教程,教程的第二部分是关于 observables,我的 .ts(后来的 .js)上有以下代码:
/// <reference path="../typings/index.d.ts" />
$(document).ready(function () {
ko.applyBindings(new ViewModel());
});
class Person {
firstName: string;
lastName: string;
constructor(firstName: string, lastName: string) {
this.firstName = firstName;
this.lastName = lastName
}
}
var ViewModel = function () {
var person = new Person('MyName', 'MyLastName');
this.person = person;
this.person = ko.observable(person.firstName);
this.person = ko.observable(person.lastName);
};
我的 cshtml 中有以下内容:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<script src="~/bower_components/jquery/dist/jquery.js"></script>
<script src="~/bower_components/knockout/dist/knockout.js"></script>
<script src="~/Scripts/greeter.js"></script>
<title>Index</title>
</head>
<body>
<div>
<p>FirstName: </p> <p data-bind="text: person.firstName"></p>
<p>LastName: </p> <p data-bind="text: person.lastName"></p>
<p>First name: <input data-bind="value: person.firstName" /></p>
<p>Last name: <input data-bind="value: person.lastName" /></p>
</div>
</body>
</html>
当我运行网络应用程序时,我的<p> 标签上没有显示“MyName”和“MyLastName”,而当我在我的<input> 中写入时,它没有在我的<p> 标签中显示任何内容。
所以问题是,可以更改类的属性还是只需要更改变量?
【问题讨论】:
标签: javascript html typescript knockout.js