问题标签 [jsviews]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
81 浏览

jsrender - 替代方法

对不起这个noobish问题。我觉得必须有更好的方法,但我没有看到它。我不想在按钮单击中循环查找 ID。我只想传递要删除的索引。

这就是我认为我必须做的事情

html

js

这就是我想做的

html

js

0 投票
1 回答
403 浏览

javascript - JsView无法读取未定义的属性'_cId'

我遇到了与观察动态创建的项目的属性变化有关的奇怪行为。

场景: 我有一个页面,我的用户可以在其中创建联系人。他们创建的联系人数量各不相同(在一些条件下)。

我当前的解决方案: 我创建了一个联系人模板。每次用户点击添加按钮时,我都会使用 Observable API 添加一个新的联系人对象。现在的问题是,当我尝试删除联系人时,联系人已从底层数组中删除,但不会从 UI 中删除。此外,我收到一个异常,说:“无法读取未定义的属性'_cId'”。

这是我的 JavaScript 代码:

我创建了一个 JsFiddle 来演示异常,我希望有人可以指导我如何解决它。

http://jsfiddle.net/parthsha/dLo33ch9/3/

0 投票
1 回答
451 浏览

javascript - jsviews - 更新数组元素的字段

我对 jsviews 有疑问。我想绑定一个元素数组。每个元素都是一个对象。元素是动态添加的。每个元素的一个字段的值基于另一个字段计算。如果不每次都刷新数组怎么办?

js:

html:

我创建了说明问题的jsfiddle 。

0 投票
1 回答
1560 浏览

jquery - FOR 中的自定义变量与 JsRender

我正在从 jQuery 模板迁移到 JsRender,但我不知道如何{{each}}{{for}}

使用 jQuery 模板,我可以执行以下操作:

Whereobject.items是一个值数组,我可以定义一个自定义indexitem变量来显示数据(在本例中为ival)。但是我如何在 JsRender 中做同样的事情呢?

我知道index并且data可以显示与 jQuery 模板相同的内容,但是如何定义自定义变量?这甚至可能吗?

更新:这样做的原因是为我正在使用的变量提供一些上下文。让我用例子来解释(jQuery tmpl)

您的引擎可以使用这种语法/逻辑吗?

0 投票
1 回答
141 浏览

jquery-templates - view() 返回空视图

我已经包含了来自http://www.jsviews.com/download/jsviews.js的 jsview.js(包括 JsRender、JsObservable 和 JsViews)。我也有渲染行的 html 表。

我需要执行3个案例:

  1. 删除旧行并将新呈现的行插入到表中,在插入之前对它们进行了一些操作(初始化等)
  2. 不要删除行。只需在某行之后插入新的渲染行,在插入之前对它们进行一些操作(初始化等)
  3. 在事件“ onclick”上,我需要获取行数据:var rowData = $row.view().data;

当我使用渲染时:var $rows = $(compiledTmpl.render(dataArray, helperObj)); 我可以对渲染的行做任何事情。我可以初始化它们并在某行之后插入它们。但是当事件“onclick”引发时,我得到数据(rowData)。为什么?

当我使用链接时:compiledTmpl.link($table, dataArray, helperObj) 我无法获得渲染行。为什么?我无法初始化它们并在某行之后插入它们。但是当事件“onclick”引发时,我得到的不是空数据(rowData)。

如何在我的情况下?

更新https ://jsfiddle.net/chdcfsnv/4/

更新 2:很快(而且很简单),我想要渲染新行。在现有行之后添加它们。稍后我需要能够获取链接的行数据。到目前为止我不需要的其他功能。

0 投票
1 回答
64 浏览

jsviews - jsviews如何使列表元素被选中

我正在尝试为用户显示项目列表。在选择列表中,应该选择“key”用户属性的当前值,但这不起作用。

这是我的代码片段:

http://jsfiddle.net/er2f1rw3/1/

谁能帮我理解为什么这不起作用?

0 投票
1 回答
731 浏览

view-helpers - JsViews/JsRender for 循环中的临时/上下文辅助变量

我正在尝试将一个临时/上下文变量存储在一个 for 循环中,以便以后在另一个 for 循环中使用。我使用http://borismoore.github.io/jsrender/demos/step-by-step/11_accessing-parent-data.html作为参考。

实例数组中的每个数据对象都有一个设置为特定值的 templateId 属性,并且模板数组中的每个对象都有一个 id 属性。

第一个问题是我的调试 {{:~templateId}} 没有出现。似乎没有分配变量。

仅在模板标记中使用 ~helper 集后,我尝试在我的“viewmodel”中明确定义助手

现在,当我没有在 for 循环中设置它时,值会被打印出来,但是当我在 for 循环中设置它时,它会再次消失。

下一个问题可能是 ~templateId 助手在 ~root 范围的 for 循环中不可用,因为助手应该只在实例循环的子视图中可用?

最终目标是在select中选择正确的值,所以如果有其他解决方案,请告诉。

0 投票
1 回答
269 浏览

jsrender - 查看未更新可观察到的更改

我正在尝试在更新列表的容器时重新呈现列表:

当我使用 $.observable(data).setProperty("selectedScenario",scenario) 时,没有任何变化。在http://jsfiddle.net/ep76m4af/1/中,您可以看到这一点。ObserveAll 显示数据本身已更新并且事件已正确触发。

0 投票
1 回答
133 浏览

jsrender - jsviews 反应式助手不会更新依赖 = [...] 定义

我指出的助手取决于模型中的变量,并且我在模板中使用的助手在更新依赖的变量时不会重新呈现,如http://jsfiddle.net/ep76m4af/3/中所示

下面是数据和模板助手定义:

这是相关的模板代码:

将实例添加到 data.selectedInstances 时

视图不会相应更新。

我的代码的“.depends”部分不正确还是有其他问题?

顺便说一句,我需要将选择排除在场景之外,因为场景将存储在数据库中,并且选择仅在客户端。

0 投票
1 回答
264 浏览

javascript - jsViews / jsRender 与模板内的丰富表达式

快速提问:我正在使用 jsViews 来呈现 HTML 模板。我想要某种翻译。现在我的应用程序返回全局变量“语言”,其值等于:pl || zh || _

如何使用全局变量“语言”来减少 JSON 中负责翻译的数据?

1)。JSON数据

2)。工作 HTML 模板,但语言值是静态写入的

3)。我想将 {{props pl}} 更改为 {{props *language}} 以在模板中动态获取语言但如何正确编写它?

我知道:

那么如何在 {{if}} 或 {{props}} 或 {{for}} 中使用这个表达式?

先感谢您!!