- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
嗨,我正在尝试使用 observableArray 进行 foreach,我得到:
Uncaught Error: Unable to parse bindings.
Message: ReferenceError: Nome is not defined;
Bindings value: text: Nome
这是我的 HTML:
<table data-bind="foreach: funcionarios">
<tr>
<p>Nome: <span data-bind="text: Nome"></span></p>
<p>Apelido: <span data-bind="text: Apelido"></span></p>
<p>Hobby: <span data-bind="text: Hobby"></span></p>
<p>Função: <span data-bind="text: Funcao"></span></p>
<p>Ramal: <span data-bind="text: Ramal"></span></p>
<p>Email: <span data-bind="text: Email"></span></p>
<p>Celular: <span data-bind="text: Celular"></span></p>
<p>Aniversário: <span data-bind="text: Aniversario"></span></p>
</tr>
</table>
这是我的 Js:
var FuncionarioViewModel = function () {
var me = this;
function Funcionario(base, id, nome, apelido, hobby, funcao, ramal, email, celular, aniversario) {
var me = this;
me.Id = id;
me.Nome = ko.observable(nome);
me.Apelido = ko.observable(apelido);
me.Hobby = ko.observable(hobby);
me.Funcao = ko.observable(funcao);
me.Ramal = ko.observable(ramal);
me.Email = ko.observable(email);
me.Celular = ko.observable(celular);
me.Aniversario = ko.observable(aniversario);
};
me.funcionarios = ko.observableArray([]);
me.add = function (id, nome, apelido, hobby, funcao, ramal, email, celular, aniversario) {
me.funcionarios.push(new Funcionario(me, id, nome, apelido, hobby, funcao, ramal, email, celular, aniversario));
};
}
var viewModel = new FuncionarioViewModel();
ko.applyBindings(viewModel);
这是 fiddle 链接:http://jsfiddle.net/Lrqeb/8/
我不想加载带有该数组中的默认数据的页面。
最佳答案
编辑:
好的,刚刚检查了你的 jsfiddle。我更新为使用 if
绑定(bind)来检查数组是否包含任何元素,然后再尝试 foreach
这将阻止绑定(bind)错误:
我用以下内容包装了您的 foreach
:
<div data-bind="if: funcionarios().length > 0">
编辑2:
此外,您已将 foreach
应用于 table 标记,但该标记不起作用。我将其更改为使用 tbody 标签,并且在这里工作正常:http://jsfiddle.net/Lrqeb/10/
变化如下:
<div data-bind="text: funcionarios().length"></div>
<div data-bind="if: funcionarios().length > 0">
<table>
<tbody data-bind="foreach: funcionarios">
<tr>
<td>Nome: <span data-bind="text: Nome"></span></td>
<td>Nome: <span data-bind="text: Apelido"></span></td>
<!-- and so on... -->
</tr>
</tbody>
</table>
关于javascript - 为什么我的 observableArray 不工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11834165/
我有 2 个 observablearray。 当我将项目从 observablearray1 复制到 observablearray2 并更改 observablearray2 中的值时,obser
我正在使用这个名为 Dragula 的插件,它需要一个 ObservableArray 作为数据源。 HTML/Knockout 绑定(bind)
我是 JS 和 Knockout 的新手。我想将 observableArray 中的特定 observable 复制到另一个 observableArray。我怎样才能做到这一点? HTML
我在使用 Knockout.js 过滤可观察数组时遇到问题 我的js: 包含数据的数组 var docListData = [ { name: "Article Name 1", info:
我有这个模型,一个Foo有很多FooItem。如何向 FooItem 添加对象? 我有这段代码,您可以建议甚至删除最适合此场景的整个代码 var Foo = function (selected) {
我有以下 View 模型: function instance(id, FirstName){ $.extend(this, { id: ko.observable(id ||
我有这段代码,我希望渲染从 REST 查询的菜单: var PageViewModel = function() { var self = this; //
我发现这个问题与我的类似 - Replace all elements in Knockout.js observableArray 我还有另一个问题 - 如果我用新内容替换 observableAr
我正在尝试使用 knockoutJS 填充级联 select2 下拉列表。当使用静态数据时,代码似乎工作正常,如 function staticbuildData() 中所示。 ,但在使用函数 fun
knockoutjs 新手,我正在遵循有关加载和保存数据的教程,但我遇到了一些麻烦。当我将对象推送到数组时,该数组为空。我也在使用表格。这是我的代码, function Quiz(data) {
我正在开发一个项目,其中有一个搜索字段,可以根据搜索框中输入的内容过滤 observableArray。 这是我的 html 代码: 这是我的js代码: var Bu
我在客户端开发环境中工作,必须遵守他们的编码标准。我有以下 JS 和 HTML。我的 observableArray 未定义。我无法让它工作。甚至 console.logs 也打印了正确的值。 请不要
我有一个动态数据对象,因为它是从 WebApi 加载数据调用中读取的......然后使用以下方法将其转换为可观察对象: $.get("/api/PlateTemplate/Get", { id: s
我想为可观察数组中的元素设置动画。 我不会在 observableArray 中添加或删除项目。 考虑到以下 jsfiddle,我想调用 animateFirstElement 函数并突出显示行星“M
我有一个计算的可观察对象,它返回我的 observableArray 的过滤、排序版本,但排序根本不起作用。 这里是 My fiddle String.prototype.contains = fun
我想要一个 ko.observableArray 维护自己的排序顺序,其中排序顺序取决于每个项目的计算属性。 我希望它能工作: var threads = ko.observableArray().e
我有一个类似的 View 模型 AppViewModel = { agent : ko.observableArray([ { name : 'test',
我编写了简单的示例来了解 ko.observableArray 的工作原理。 **HTML**: Count is : JS: var anotherObservableArray = ko.ob
我有一个由 AJAX 调用填充的可观察数组,但它没有更新。 function ViewModel() { var self = this; self.FinanceTypes = ko
我有两个带有对象的 observableArray: self.firstHorizontalLineArr = ko.observableArray([{color: "red", val: 0},
我是一名优秀的程序员,十分优秀!