无法绑定已绑定已绑定数据的标记内的数据Knockout js

时间:2014-09-23 07:14:35

标签: javascript jquery facebook knockout.js

我是Knockout js的新手,但我开始慢慢学习。

然而,我遇到了一个无法理解的问题,我的猜测是需要经验来理解这些问题。

这是我的问题,当我映射数据时,不会显示CommentedDate值。而且我认为这是因为跨度在h2内部已经是绑定数据。

我是在使用ASP和Knockout.js完成tutorial之后用PHP实现的。

<h2 data-bind="text: CommentedByName">
      <span class="timeago" data-bind="text: CommentedDate"></span>
</h2>

我可能做错了什么?

我的模特:

function Comment(data) {
    var self = this;
    data = data || {};

    //persisted properties
    self.CommentId = data.comment_id;
    self.PostId = data.post_id;
    self.Message = ko.observable(data.message || "");
    self.CommentedBy = data.commented_by || "";
    self.CommentedByName = data.commented_by_name || "";
    self.CommentedDate = getTimeAgo(data.comment_date);
    self.error = ko.observable();

}

1 个答案:

答案 0 :(得分:0)

由于span标记内允许使用h1标记,您可以尝试使用此标记:

<h2>
    <span class="name" data-bind="text: CommentedByName"></span>
    <span class="timeago" data-bind="text: CommentedDate"></span>
</h2>

根据你的评论:

<h2 data-bind="html: (ko.unwrap(CommentedByName) + '<span class=\'timeago\'>' + ko.unwrap(CommentedDate) + '</span>') ">
</h2>