基本的淘汰赛例子"数据绑定"不工作

时间:2017-02-21 21:27:25

标签: javascript knockout.js

我正在尝试从knockout.js教程我的visualstudio asp.net项目中转换一些代码。

我觉得我设置的一切都很好,我用bower来添加淘汰库依赖。

我想让一些代码正在使用knockout。这就是我所拥有的:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>

        <p>First name: <strong data-bind="text: firstName"></strong></p>
        <p>Last name: <strong data-bind="text: lastName"></strong></p>
    <script src="lib/knockout/dist/knockout.js" type="text/javascript">
            function AppViewModel() {
                this.firstName = "Devin";
                this.lastName = "Salemi";
            }
            // Activates knockout.js
            ko.applyBindings(new AppViewModel());
    </script>
</body>
</html>

当我去网站时,我看到的只是 名字:

姓氏:

所以即使我在JS中设置它们,实际值也不会出现。它应该读 - 名字:Devin

姓氏:Salemi

在IDE中,非常确定所有函数都被链接到很好,例如当我写ko时。 IDE为我提供了所有选项,所以我认为我已经安装了库...

1 个答案:

答案 0 :(得分:1)

您需要将自定义javascript包装在单独的<script>代码中。

只要脚本标记上有src="",它就会忽略内部内容,并从src文件加载。因此,对于所有自定义脚本,您需要另一个没有src属性的脚本标记:

&#13;
&#13;
<p>First name: <strong data-bind="text: firstName"></strong></p>
<p>Last name: <strong data-bind="text: lastName"></strong></p>
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js" type="text/javascript">
</script>
<script>
  function AppViewModel() {
    this.firstName = "Devin";
    this.lastName = "Salemi";
  }
  // Activates knockout.js
  ko.applyBindings(new AppViewModel());
</script>
&#13;
&#13;
&#13;