问题标签 [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.
javascript - 使用 JsViews 计算汇总值
我喜欢使用 jsviews 绑定在我的页面上显示两个摘要数据。UI 将类似于屏幕截图中的内容。
用户可以从列表中添加/删除人员,这将影响“人数”的值,用户可以在文本框中编辑整数值,总值将显示在“总金额”中。
是的。我设法使它工作..请在那里查看我的代码。http://jsfiddle.net/michaelsync/eqhkzv3t/3/
但我认为这非常难看,尤其是:下面的代码。
好吧,我仍在阅读 jsviews 的教程和源代码/测试。但我对 JsViews 来说几乎是新闻。在我当前的代码中,我继续循环数组以计算总数和人数。我认为我可能能够注册一个辅助类,但仍然需要循环“人员”数组来计算值。
所以,我相信 JsViews 中可能有更好的方法。由于 JsViews 网站建议我们在此处发布问题,并且 JsViews 的作者也在此处,因此我决定将其发布在此处以提前进行这些汇总数据。(是的,你也可以在这里查看我的测试代码http://jsfiddle.net/michaelsync/eqhkzv3t/3/)
任何意见,将不胜感激。谢谢!
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"
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 不起作用..
我更改了下面的代码以检测数量变化,但事件没有被触发。
javascript - 对“数据链接元素”的困惑
我正在阅读此页面http://www.jsviews.com/#linked-elem-syntax并进行一些测试。
- 我喜欢从这个开始..
请注意,
<input data-link="name trigger=true"/>
标签自动具有双向数据绑定。
我是否正确地说如果删除“trigger = true”将进行单向绑定?或者,它仍然是双向绑定吗?
我发现具有“trigger=true”和没有“trigger=true”的唯一区别是,如果您有“trigger=true”,您将获得属性更改事件的更新。否则,您将看到失去焦点事件的更新。
- 我也对最后之前有“:”感到困惑。
请注意,完整的语法在末尾的 '}' 之前有一个额外的 ':'。它对应于双向数据绑定。
这是否意味着末尾带有“:”与带有“trigger = true”的效果相同?
但是我尝试了下面的代码,它不像具有“trigger = true”的代码那样工作。
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
。我会继续寻找,但如果你知道如何做到这一点,请告诉我。谢谢!
javascript - 我需要帮助在 JsViews 模板中链接日期对象
我正在编写一个小型 javascript 游戏...设置游戏时间,我有一个变量来保存当前游戏中的日期和时间,我想显示这个日期和每秒,将该日期增加几小时。
我正在使用 JSViews 进行数据绑定,它在应用程序中运行良好,除了那个日期,我不明白!我创建了一个代表这个想法的 JSFiddle:
我有一个带有日期和整数的数据模型。我有一个使用转换器显示数据模型的模板
每秒钟,我都会使用 Observable 方法更新日期和整数。整数会更新,但日期不会更新!
我添加了一行我在没有数据绑定的情况下写入值以显示值已更新..
javascript - 我可以在 JsViews 中对顶级元素进行数据链接时使用 else 标记吗?
数据链接到 JsViews 中的顶级元素时是否可以使用 else 标记?
如果是这样,在这样的示例中,您将 else 标签放在哪里?
jquery - RequireJS 随机无法加载需要 jQuery 的依赖项
我多年来一直对此感到困惑,并且有许多不同的shim
设置。他们中的大多数给出了大致相同的问题。在阅读了很多关于此的文档后,我什至无法开始写下我尝试过的所有排列。所以我希望有人会认识到这个问题并知道正确的方法。
问题是加载bootstrap
, jqueryUi
,jsViews
和bridget
同时在使用 优化时有时会失败。r.js
我有这样的设置。
这在未优化时有效:
config.js
app.js
现在奇怪的是,在优化后它有时也可以工作。在开发人员控制台打开的情况下按 Ctrl+F5时,它显示这有时会起作用,并且有时会抛出上述代码中以Uncaught TypeError: undefined is not a function
.
我还注意到,当页面加载成功时,全局命名空间中有三个jQuery
对象。当出现其中一个错误时,只有两个jQuery
对象。
而且我认为整个游戏就是这样modules
,shims
所以只有一个。
这似乎是完全随机的。令我困惑的是,优化和未优化的构建之间的行为是不同的。
我认为以下内容与可能的解决方案无关,但这里是其他部分:
启动应用程序的 HTML:
咕噜声r.js
配置:
编辑:
借助google的魔力,我重新发现了一个我4个月前问过的类似问题,没有任何有用的答案:RequireJS loading jquery-ui failed after optimization
不同之处在于我当前的设置有时会失败,而不是所有时间。
javascript - 将 jsViews/jsRender 与作为字典条目重新调整的属性一起使用
我想知道为什么似乎无法正确记录下来。我在 MVC 中有一个 JSONResult 返回“作业”对象的集合。“作业”对象的属性之一是字典。我似乎无法弄清楚如何将其添加到“作业”实体模板中,以便我可以显示内部模板的所有值。当前的对象设计将是一个作业,每个作业都有一个作业阶段字典。以下代码是我目前使用的:
作业.cs
客户端脚本:
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: