Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.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 使用敲除可观察数组时未更新UI_Javascript_Jquery_Arrays_Knockout.js - Fatal编程技术网

Javascript 使用敲除可观察数组时未更新UI

Javascript 使用敲除可观察数组时未更新UI,javascript,jquery,arrays,knockout.js,Javascript,Jquery,Arrays,Knockout.js,我是个新手。我试图使用可观察数组来跟踪UI中的更改。UI正在加载存储在数组中的初始数据。我正在尝试从另一个屏幕向数组中动态添加新对象 现在我可以将新对象添加到数组中。但是UI并没有随着阵列中的新更改而得到反映。下面是我的html和javascript代码 我错过了什么吗 <html> <head> <link rel="stylesheet" href="bootstrap.css" type="text/css" /> <link re

我是个新手。我试图使用可观察数组来跟踪UI中的更改。UI正在加载存储在数组中的初始数据。我正在尝试从另一个屏幕向数组中动态添加新对象

现在我可以将新对象添加到数组中。但是UI并没有随着阵列中的新更改而得到反映。下面是我的html和javascript代码

我错过了什么吗

<html>
<head>
    <link rel="stylesheet" href="bootstrap.css" type="text/css" />
    <link rel="stylesheet" href="bootstrap-theme.css " type="text/css" />
    <script src="jquery.js" type="text/javascript"></script>
    <link rel="stylesheet" href="prodconfig.css " type="text/css" />    
    <script src="jquery.mobile.min.js" type="text/javascript"></script>
    <link rel="stylesheet" href="cordys.min.css" type="text/css" />
    <link rel="stylesheet" href="jquery.mobile.structure.min.css" type="text/css" />
    <script src="knockout.js" type="text/javascript"></script>
    <script src="prodconfig.js" type="text/javascript"></script>
</head>
<body>
    <div data-role="page" id="productsPage" class="dataContainer">
        <div id="productDetails">
            <div data-role="content" id="productTable">
                <table data-role="table" class="ui-responsive table">
                    <thead>
                        <tr>
                          <th data-priority="6">Product Name</th>
                          <th data-priority="1">Description</th>
                          <th data-priority="2">Parent?</th>
                        </tr>
                    </thead>
                    <tbody id="pBody"  data-bind="foreach: products">
                        <tr class="success">
                          <td><span data-bind="text: name"></span></td>
                          <td><span data-bind="text: desc"></span></td>
                          <td></td>
                        </tr>
                    </tbody>
                </table>
            </div>
        </div>
        <div id="prodButtons">
            <button id="addProdProduct">Add Product</button>
            <button id="addProdChar">Add Characteristics</button>
            <button id="prodButton">Next</button>
        </div>
    </div>  
    <div id="addProductPage" data-role="page" >
        <span><h3>Product Name</h3></span><input type="text" id="prodNameId"></input>
        <span><h3>Product Desc</h3></span><input type="text" id="prodDescId"></input>
        <span><h3>Is Parent</h3></span><input type="text" id="prodIsParentId"></input>
        <button id="addProdButton">OK</button>
    <div>
</body>

品名
描述
父母亲
添加产品
添加特征
下一个
品名
产品说明
是父母吗
好啊

var configArray=new Array();
var乘积=[];
var services=newarray();
var chars=[];
var-prd;

对于(var i=0;i您将绑定到
products
变量,而不是viewmodel上的
items
字段

将您的绑定更改为:

<tbody id="pBody"  data-bind="foreach: items">

您绑定到的是
产品
变量,而不是viewmodel上的
项目
字段

将您的绑定更改为:

<tbody id="pBody"  data-bind="foreach: items">

您绑定到的是
产品
变量,而不是viewmodel上的
项目
字段

将您的绑定更改为:

<tbody id="pBody"  data-bind="foreach: items">

您绑定到的是
产品
变量,而不是viewmodel上的
项目
字段

将您的绑定更改为:

<tbody id="pBody"  data-bind="foreach: items">

下面的代码显示了一个使用knockoutjs MVVM模式插入数据的示例过程

HTML

模型呢

function Product(product) {
var self = {};
self.Id = ko.observable(product.Id || '');
self.ProductName = ko.protectedObservable(product.Name || '');
return self;
}

我认为这将帮助您

下面的代码显示了使用knockoutjs MVVM模式插入数据的示例过程

HTML

模型呢

function Product(product) {
var self = {};
self.Id = ko.observable(product.Id || '');
self.ProductName = ko.protectedObservable(product.Name || '');
return self;
}

我认为这将帮助您

下面的代码显示了使用knockoutjs MVVM模式插入数据的示例过程

HTML

模型呢

function Product(product) {
var self = {};
self.Id = ko.observable(product.Id || '');
self.ProductName = ko.protectedObservable(product.Name || '');
return self;
}

我认为这将帮助您

下面的代码显示了使用knockoutjs MVVM模式插入数据的示例过程

HTML

模型呢

function Product(product) {
var self = {};
self.Id = ko.observable(product.Id || '');
self.ProductName = ko.protectedObservable(product.Name || '');
return self;
}

我认为这将帮助您

Aah…我错过了这一部分,因为它是为初始内容工作的。这是因为您在初始for循环中将数据分配给
产品
,这是数组类型的平面变量(不可观察).Aah…我错过了这一部分,因为它正在为初始内容工作。这是因为在初始for循环中,您正在将数据分配给
产品
,这是数组类型的平面变量(不可观察).Aah…我错过了这一部分,因为它正在为初始内容工作。这是因为在初始for循环中,您正在将数据分配给
产品
,这是数组类型的平面变量(不可观察).Aah…我错过了这一部分,因为它正在为初始内容工作。这是因为在初始for循环中,您正在将数据分配给
产品
,这是数组类型的平面变量(不可观察)。