问题标签 [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 回答
557 浏览

javascript - 使用 JsViews 计算汇总值

我喜欢使用 jsviews 绑定在我的页面上显示两个摘要数据。UI 将类似于屏幕截图中的内容。

在此处输入图像描述

用户可以从列表中添加/删除人员,这将影响“人数”的值,用户可以在文本框中编辑整数值,总值将显示在“总金额”中。

是的。我设法使它工作..请在那里查看我的代码。http://jsfiddle.net/michaelsync/eqhkzv3t/3/

但我认为这非常难看,尤其是:下面的代码。

好吧,我仍在阅读 jsviews 的教程和源代码/测试。但我对 JsViews 来说几乎是新闻。在我当前的代码中,我继续循环数组以计算总数和人数。我认为我可能能够注册一个辅助类,但仍然需要循环“人员”数组来计算值。

所以,我相信 JsViews 中可能有更好的方法。由于 JsViews 网站建议我们在此处发布问题,并且 JsViews 的作者也在此处,因此我决定将其发布在此处以提前进行这些汇总数据。(是的,你也可以在这里查看我的测试代码http://jsfiddle.net/michaelsync/eqhkzv3t/3/

任何意见,将不胜感激。谢谢!

0 投票
1 回答
119 浏览

javascript - 带有转换器的 JSViews 可见链接不起作用

我升级到最新版本的 JsViews,似乎有些东西坏了。

如果我有一个像“visible{:property}”这样的数据链接,它就可以工作。

如果我有一个像“visible{convert:property}”这样的数据链接,它就不起作用。

据我所知,它似乎在 attr“可见”的过程中看起来很早,并将其更改为“css-display”。但是,当我有一个转换器时,在 propertyChangeHandler 中它会执行此行

attr = linkCtx.attr || 属性;// linkCtx.attr 在 renderTag 中标签实例化期间可能已设置为 tag.attr

这导致它将 attr 更改回“可见”,然后在 updateContent 中,“css-”的正则表达式测试失败并且它从不设置显示属性。

我错过了什么吗?这不应该工作吗?

我创建了一个小提琴来展示我正在尝试做的事情。在非工作的情况下,而不是设置 display:none,它设置 visible="false"

http://jsfiddle.net/4scbgjpx/2/

0 投票
1 回答
805 浏览

javascript - JsViews:双向绑定问题

当您在 data-link 中绑定附加属性时,默认的 bindng 和 trigger=true 停止工作。没有错误或任何明显的东西。但它不起作用。

默认绑定

在这个例子中(http://jsfiddle.net/BorisMoore/wch601L9/),绑定了“amount”属性而不显式设置属性(例如 value{:amount} )。有用!

如果您通过添加附加绑定来更改此代码,则默认绑定“金额”不再显示在文本框中。

这里 ( http://jsfiddle.net/michaelsync/xzo15n0s/ ) 是我的 BorisMoore 示例的 fork 版本,我进行了更改以显示这种情况。

我找到的解决方案是为所有绑定显式设置属性名称。

这是已知问题吗?

触发器=真

如果您在文本框中输入一些数字(示例http://jsfiddle.net/michaelsync/xzo15n0s/),您将看到总数没有更新。

我不知道如何解决这个问题。这也是一个已知问题吗?

如果这个问题不清楚,请随时告诉我。谢谢!

注意:如果您想知道我为什么要绑定两个属性,那么这就是我正在测试的示例。http://jsfiddle.net/michaelsync/078cazh8/2/

更新#1:

我现在正在调试 JsViews 源代码。我修改了我的代码示例以进行调试。

这里是 v1。http://jsfiddle.net/michaelsync/tmwyhc7n/1/

只有一个绑定的模板

JS

我将断点设置在function parseTag(all, bind, tagName, converter, colon, html, comment, codeTag, params, slash, closeBlock, index)

我只被击中,“all”参数的值为“”{{:amount trigger=true}}“”

现在,我添加了额外的绑定,如下所示。

V2:http: //jsfiddle.net/michaelsync/tmwyhc7n/2/

然后我得到了两次点击,因为我绑定了“amount”和“isSameAmountForAll”。你看到解析中缺少“trigger = true”。

所以..我在 amount 中移动了“trigger=true”。

V3:http: //jsfiddle.net/michaelsync/tmwyhc7n/3/

更新#2:

解析似乎正确,但 ObserverAll 不起作用..

我更改了下面的代码以检测数量变化,但事件没有被触发。

V4:http: //jsfiddle.net/michaelsync/tmwyhc7n/4/

0 投票
1 回答
81 浏览

javascript - 对“数据链接元素”的困惑

我正在阅读此页面http://www.jsviews.com/#linked-elem-syntax并进行一些测试。

  1. 我喜欢从这个开始..

请注意,<input data-link="name trigger=true"/>标签自动具有双向数据绑定。

我是否正确地说如果删除“trigger = true”将进行单向绑定?或者,它仍然是双向绑定吗?

我发现具有“trigger=true”和没有“trigger=true”的唯一区别是,如果您有“trigger=true”,您将获得属性更改事件的更新。否则,您将看到失去焦点事件的更新。

  1. 我也对最后之前有“:”感到困惑。

请注意,完整的语法在末尾的 '}' 之前有一个额外的 ':'。它对应于双向数据绑定。

这是否意味着末尾带有“:”与带有“trigger = true”的效果相同?

但是我尝试了下面的代码,它不像具有“trigger = true”的代码那样工作。

0 投票
1 回答
138 浏览

javascript - 如何在jsviews中将css设置为自定义标签(datepicker)?

对于已经熟悉 jsviews 的人来说,这可能是一个简单的问题。我花了一个多小时才弄清楚如何将 CSS 类设置/附加到 datepicket 标记。

我正在关注这个例子: http: //www.jsviews.com/#samples/tag-controls/datepicker/with-validation

它工作正常,但如何将自定义 css 设置为 datepicker 标签?我想设置 "class="form-control"" .. 我尝试了以下代码,但它不起作用。

我也在尝试几种不同的方法。由于 jsviews datepicker 正在使用 jquery ui 和验证,我也在看这篇文章How to add a custom class to my JQuery UI Datepicker ..

到目前为止,我还无法将自定义 css 标记设置为{^{datepicker。我会继续寻找,但如果你知道如何做到这一点,请告诉我。谢谢!

0 投票
1 回答
90 浏览

javascript - 我需要帮助在 JsViews 模板中链接日期对象

我正在编写一个小型 javascript 游戏...设置游戏时间,我有一个变量来保存当前游戏中的日期和时间,我想显示这个日期和每秒,将该日期增加几小时。

我正在使用 JSViews 进行数据绑定,它在应用程序中运行良好,除了那个日期,我不明白!我创建了一个代表这个想法的 JSFiddle:

我有一个带有日期和整数的数据模型。我有一个使用转换器显示数据模型的模板

每秒钟,我都会使用 Observable 方法更新日期和整数。整数会更新,但日期不会更新!

我添加了一行我在没有数据绑定的情况下写入值以显示值已更新..

0 投票
1 回答
83 浏览

javascript - 我可以在 JsViews 中对顶级元素进行数据链接时使用 else 标记吗?

数据链接到 JsViews 中的顶级元素时是否可以使用 else 标记?

如果是这样,在这样的示例中,您将 else 标签放在哪里?

0 投票
0 回答
365 浏览

jquery - RequireJS 随机无法加载需要 jQuery 的依赖项

我多年来一直对此感到困惑,并且有许多不同的shim设置。他们中的大多数给出了大致相同的问题。在阅读了很多关于此的文档后,我什至无法开始写下我尝试过的所有排列。所以我希望有人会认识到这个问题并知道正确的方法。

问题是加载bootstrap, jqueryUi,jsViewsbridget同时在使用 优化时有时会失败r.js

我有这样的设置。

这在未优化时有效:

config.js

app.js

现在奇怪的是,在优化后它有时也可以工作。在开发人员控制台打开的情况下按 Ctrl+F5时,它显示这有时会起作用,并且有时会抛出上述代码中以Uncaught TypeError: undefined is not a function.

我还注意到,当页面加载成功时,全局命名空间中有三个jQuery对象。当出现其中一个错误时,只有两个jQuery对象。

而且我认为整个游戏就是这样modulesshims所以只有一个。

这似乎是完全随机的。令我困惑的是,优化和未优化的构建之间的行为是不同的。


我认为以下内容与可能的解决方案无关,但这里是其他部分:

启动应用程序的 HTML:

咕噜声r.js配置:


编辑:

借助google的魔力,我重新发现了一个我4个月前问过的类似问题,没有任何有用的答案:RequireJS loading jquery-ui failed after optimization

不同之处在于我当前的设置有时会失败,而不是所有时间。

0 投票
1 回答
298 浏览

javascript - 将 jsViews/jsRender 与作为字典条目重新调整的属性一起使用

我想知道为什么似乎无法正确记录下来。我在 MVC 中有一个 JSONResult 返回“作业”对象的集合。“作业”对象的属性之一是字典。我似乎无法弄清楚如何将其添加到“作业”实体模板中,以便我可以显示内部模板的所有值。当前的对象设计将是一个作业,每个作业都有一个作业阶段字典。以下代码是我目前使用的:

作业.cs

客户端脚本:

0 投票
1 回答
330 浏览

typescript - JsRender/JsViews:如何让 {for} 为子类数组工作

我对 Array 进行了子类化(使用 TypeScript),以便能够向 Array 添加额外的函数。请参阅下面的代码。

从那以后,我注意到{for}JsRender/JsViews 的标签不再起作用了。我还注意到 JsRender/JsViews 用于$.isArray(...)迭代数组,这将返回false子类数组。

当我更改 JsRender/JsViews 代码以使用(data instanceof Array)它时,它确实有效。

是否有另一种方法(不更改 JsRender/JsViews 代码)让子类数组与 JsRender/JsViews{for}标记一起使用?

打字稿:

生成的Javascript: