繁体   English   中英

如何使用Knockoutjs在JavaScript对象中显示属性?

[英]How to display a property in JavaScript object using Knockoutjs?

我是Knockoutjs和JavaScript的新手,需要一些建议。

在我的HTML(查看)页面中,我试图显示来自Javascript对象(模型)的text属性,该属性类似于:

var object = function() {
   this.text = "blah blah blah";
}

在我的对象的ViewModel中,我有这个:

var objectViewModel= function (object) {
   var content = ko.observable(object); // or is it object.text() ?

   self.section = function() {
      return content.text; //or is it content ?
   }
}

在我看来,我有这个:

<span data-bind="text:section"></span>

我的主要问题是如何使HTML通过viewmodel显示模型的属性(文本)? 我在其他问题中提出了意见,并希望有所帮助。

提前致谢!

因此,我建议您将此文章作为一本好书阅读。

要回答两个附加的注释问题: 一切都取决于您作为参数传递的内容 实例化您遗漏的视图模型时,将提供该重要信息。

根据指定,您需要ko.applyBindings(new objectViewModel(new object())) 其次,你有self ,它来自哪里? this或声明var self = this; 或提供该变量来自的其余代码。

接下来,在section函数中,您需要“读取”可观察的内容:

return content().text

最后,您认为需要执行以下section

<span data-bind="text:section()"></span>

作为额外的考虑,您可以使section成为依赖于content可计算观察值

this.section = ko.computed(function() {
  return content().text;
})

这样就无需在视图中执行。 使用描述的两种不同场景来检查这个小提琴

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM