簡體   English   中英

可觀察到的基因敲出.js未更新

[英]knockout.js observable is not updating

球隊,

我有一個非常簡單的帶有視圖模型的html頁面,如下所示。

@{
    Layout = null;
}
<!DOCTYPE html>
<html>
<head>
    <script src='E:\Trials\ClientSide\MyTrials\knockout-2.2.1.js' type='text/javascript'></script>
    <script src='E:\Trials\ClientSide\MyTrials\jquery-2.0.0.js' type='text/javascript'></script>
    <title>Index</title>
    <script type="text/javascript">

        function PersonViewModel()
        {
            firstName = ko.observable("FirstN")
        };

        $(document).ready(function () {
            var person = new PersonViewModel();
            ko.applyBindings(person);
        });

    </script>
</head>
<body>
    <div>
        <h3>Details</h3>
        <p>First Name: <input data-bind="value:  firstName()" /></p>
        <p>First Name From span: <span data-bind="text: firstName()" ></span> </p>
    </div>
</body>
</html>

它非常簡單和自我解釋。 腳本塊包含一個視圖模型,並且在文檔就緒功能上發生綁定。 而且html也很簡單。 一個輸入和一個跨度綁定到可觀察到的相同屬性firstName。 但是痛苦是當我從輸入更改值時,跨度不會更新。 我想念什么? 關於Vivek

firstName()更改為firstName

<p>First Name: <input data-bind="value:  firstName" /></p>
<p>First Name From span: <span data-bind="text: firstName" ></span> </p>

這里有兩個問題。

  1. 如Caludio所述,您在不需要時將括號放在綁定中。 請參閱他的答案以解決此問題。
  2. 您的PersonViewModel有點錯誤。 您忘記放置“此”了。 在firstName屬性的前面。 像這樣修復它:

     function PersonViewModel() { this.firstName = ko.observable("FirstN"); }; 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM