跨度上的值绑定不起作用

时间:2015-09-21 03:47:57

标签: javascript knockout.js

由于某种原因,我无法返回idUser绑定的值:

HTML:

<span data-bind="value: idUser">1</span>

在HTML结尾处:

<script>
    $(document).ready(function () {
        startJs();
    }); 
</script>

JS文件:

function startJs() {
    var vm = new vmUser();
    ko.applyBindings(vm);
}

var vmUser = function () {
    self = this;
    self.idUser = ko.observable();
}

当我尝试使用self.idUser();时,该值始终未定义。

1 个答案:

答案 0 :(得分:6)

注意事项:

  • 您没有为observable分配任何值,因此默认情况下需要undefined
  • span标记需要text而非value,因为它不可编辑

文字装订

  

文本绑定使关联的DOM元素显示文本   参数的值。

     

通常,这对于&lt;等元素非常有用。跨度&GT;或者&lt; EM&GT;那   传统上显示文本,但从技术上讲,你可以使用它   元件。

文档 here

示例小提琴 here 以检查输出。

注意:看到<span data-bind="value: idUser">1</span>1个b / w跨度标记的视图1可能会显示data-bind,这可能是一种误解已分配,但在ko是另一种方式。正如您在html标签上有undefined,即span(any),它将替换任何具有绑定可观察值的内部内容,例如<?php echo wordwrap($item[0]->description,30,"<br>\n");?>