当前位置: 首页 > 知识库问答 >
问题:

敲除无法处理绑定-未定义

袁耀
2023-03-14

我使用Knockout^3.1继承了一个项目。0。我需要建立一些功能。我从来没用过击倒。

每个视图都有一个视图模型,该模型通过init(model)从主视图模型调用

属性在初始化开始时初始化,并在视图中使用,没有问题。例如:

model.entities = ko.observableArray([]);
model.hasEntities = ko.observable(false);

这样初始化,并在无容器绑定中正确使用,如下所示:

<!-- ko if: hasEntities -->
<!-- ko foreach: { data: entities, as: 'entity' } -->

因此,我以相同的位置/方式初始化我的新属性:

  model.numberOfColumns = ko.observable(2);

  model.columnGenerator = ko.computed(function() {
    return ko.utils.range(0, model.numberOfColumns());
  }, model);

并按如下方式使用:

<!-- ko foreach: { data: columnGenerator, as: 'index' } -->

并得到这个错误:

击倒。js:72未捕获引用错误:无法处理绑定“foreach:function(){return{data:columnGenerator,as:'index'}}”消息:未定义columnGenerator

我已经搜索了许多与此错误相关的问题,没有一个有帮助。

谢谢

共有1个答案

计阳泽
2023-03-14

那是因为你的

<!-- ko foreach: { data: columnGenerator, as: 'index' } -->

在与$root范围不同的范围内解释(其中定义了columnGenerator)。

请尝试以下方法:

<!-- ko foreach: { data: $root.columnGenerator, as: 'index' } -->

请参见绑定-上下文

 类似资料:
  • 我试图访问位于下的属性。所以基本上是一个数组,我要访问属性。 我得到以下错误。 无法处理绑定“text:function(){return process().parent[0].Id}” 无法读取未定义的属性“Id” 我尝试了以下不起作用的方法: 请帮助我如何访问ID。

  • 我对KnockoutJs还是新手,我在数据绑定方面遇到了问题。表在绑定时会出现未捕获的引用错误。。 我通过ajax调用调用数据,并与另一个数组进行比较,并将比较值存储在一个变量中。这些变量应该绑定表中的值和显示值。在这个绑定中,他们捕获了一个错误,未捕获的引用错误:无法处理绑定"模板:函数(){返回{Foreach:第三}}"消息:第三没有定义... 我的示例代码是: }这是我的脚本数据,我的示例

  • 我正在使用模板绑定来呈现一组单选按钮。元素上还有一个css绑定。 单击单选按钮时,viewmodel http://jsfiddle.net/d3YJc/1/

  • 我试图弄清楚如何使用knockout从html中添加和删除类。 应该发生的是,当我点击卡车时,按钮应该更新为btn红色,而car按钮应该删除btn红色。 我可以看到事件绑定正在工作,因为触发了警报并返回了正确的值,但我无法更新视图。 我编写了一个非常简单的JSFIDLE。net/N8GBB/11/(出于某种原因,stackoverflow不允许我发布链接)以下是我在JSFIDLE中使用的代码

  • 问题内容: 我有调用ajax GET的函数。当ajax接收数据(json)时,它将根据给定的json创建KO模型,并返回创建的KO。 创建敲除模型并分配值后,应调用敲除。这是我的代码: 定义和一些相关功能(在“ ” 内部): 这是从另一个文件(GeneralTabl.html)调用的,它应该调用get函数并更新UI: 但是,在这种情况下,我会收到错误消息(CountryName未定义)。这是因为发

  • 我正在尝试使用KnockOut在视图上绑定一个复杂对象。js。没有使用overservable()和observableArray(),我就能够将对象绑定到视图。但是,当我实现observable()时,返回的结果将可观察对象添加到我的javascript viewmodel中,并且我的视图无法绑定viewmodel。 下面是服务器端的代码实现: 上述泛型结果的结果将显示在下面的json中 我很抱