以下 java 脚本定义了具有属性“ text ”和函数“ save ”的 MyViewModel 对象。
<script type="text/javascript">
function MyViewModel() {
this.text = ko.observable('');
}
MyViewModel.prototype.save = function () {
alert(this.text()); // Works fine
var data = ko.ToJSON(this); // Error: Object doesn't support this property or method ?
$.ajax({
type: 'POST',
url: '/Person/Save',
data: data,
contentType: 'application/json',
success: function (data) {
alert(data);
}
});
};
</script>
<script type="text/javascript">
$(function () {
var viewModel = new MyViewModel()
ko.applyBindings(viewModel);
});
</script>
并定义了以下按钮:
<button data-bind="click: save">SAVE</button>
单击按钮时的结果:
- 使用 this.text() 访问属性可以正常工作
- 将 java-script 对象转换为 JSON 对象:ko.ToJSON(this) 不起作用并引发错误:“错误:对象不支持此属性或方法”
可能是一些微不足道的东西丢失或错误,但我看不到它。有小费吗 ?