Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 开始淘汰赛JS_Javascript_Data Binding_Mvvm_Knockout.js - Fatal编程技术网

Javascript 开始淘汰赛JS

Javascript 开始淘汰赛JS,javascript,data-binding,mvvm,knockout.js,Javascript,Data Binding,Mvvm,Knockout.js,我目前正在使用ASP.NET进行开发,我想开始学习击倒JS。。。基本上我所做的就是复制粘贴了第一个教程中提供的代码 所以我把这个放到我的脑袋里: <script type="text/javascript"> function() { // This is a simple *viewmodel* - JavaScript that defines the data and behavior of your UI functi

我目前正在使用ASP.NET进行开发,我想开始学习击倒JS。。。基本上我所做的就是复制粘贴了第一个教程中提供的代码

所以我把这个放到我的
脑袋里

<script type="text/javascript">
    function() {
        // This is a simple *viewmodel* - JavaScript that defines the data and
        behavior of your UI

        function AppViewModel() {
            this.firstName = ko.observable("Bert");
            this.lastName = ko.observable("Bertington");

            this.fullName = ko.computed(function() {
            return this.firstName() + " " + this.lastName();    
        }, this);

        this.capitalizeLastName = function() {
            var currentVal = this.lastName();        // Read the current value
            this.lastName(currentVal.toUpperCase()); // Write back a modified value
        };
    }

    // Activates knockout.js
    ko.applyBindings(new AppViewModel());
    }();
</script>

代码全部取自Knockout JS的教程,但不知何故,这些值不会自动绑定自己——换句话说,这对我不起作用。我在这里遗漏了什么吗?

在我看来,JavaScript代码是在DOM(您的HTML)呈现之前执行的。头部包含的JavaScript函数将立即执行。您需要确保此代码仅在完全呈现页面时执行

你可以用这个函数来实现

<script type="text/javascript">
  $(document).ready(function () {
    // your existing JavaScript goes here.
  })
</script>

$(文档).ready(函数(){
//您现有的JavaScript在这里。
})

在我看来,JavaScript代码是在DOM(HTML)呈现之前执行的。头部包含的JavaScript函数将立即执行。您需要确保此代码仅在完全呈现页面时执行

你可以用这个函数来实现

<script type="text/javascript">
  $(document).ready(function () {
    // your existing JavaScript goes here.
  })
</script>

$(文档).ready(函数(){
//您现有的JavaScript在这里。
})

如果您不想使用jQuery,还可以:

  • 删除外部自动执行函数
  • 将引用淘汰视图模型的脚本放在主体底部

  • 如果不想使用jQuery,还可以:

  • 删除外部自动执行函数
  • 将引用淘汰视图模型的脚本放在主体底部

  • 在我看来,您错误地使用了匿名函数包装器

    您需要向代码中添加更多()

    (function() { 
     ...
    })();
    

    工作示例:

    在我看来,您错误地使用了匿名函数包装器

    您需要向代码中添加更多()

    (function() { 
     ...
    })();
    

    工作示例:

    您好。当我把脚本放在正文的底部时,它就工作了。但是JavaScript不应该总是放在顶部吗?最好放在底部。您希望在浏览器开始加载脚本之前显示元素,通常是.Hello。当我把脚本放在正文的底部时,它就工作了。但是JavaScript不应该总是放在顶部吗?最好放在底部。通常,您希望在浏览器开始加载脚本之前显示元素。