问题标签 [canjs-view]

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 回答
112 浏览

javascript - 在canjs中,根据任何模型实例的存在有条件地显示小胡子模板部分的最惯用方式是什么?

我正在遍历小胡子样式模板中的每个模型实例,如果没有可用的实例(例如,如果有人删除/销毁它们),我想要一种干净的方式来显示消息

想到的第一种方式:

有没有更好的方法来做到这一点?在canjs的上下文中是否有更多惯用的方法来做到这一点?

0 投票
2 回答
236 浏览

javascript - 如何为canjs模板制作动画

谁能解释如何为胡子模板制作动画?我正在关注 我从这里下载动画的canjs 动画的文档。我已添加到我的 app.js 文件中。那么如何在应用程序中加载该文件?

我已经在我的模板中编写了这段代码,但它不起作用。

我正在使用 requirejs 来支持 AMD 并尝试在我的 requirejsconfig 文件中加载 can-animate。我已将我的 can-animate.js 存储在 canjs/amd-dev/can/can-animate/src/lib 中。

谁能给我使用它动画DOM元素的完整示例?

0 投票
0 回答
157 浏览

javascript - 动态生成的 javascript 控件上的 Ipad Safari 渲染问题

我在 iOs 9.2 上的 iPad Safari 上遇到了一个奇怪的渲染问题(当前版本,但也在其他版本上)。

我有一个通过 CanJs 框架和 EJS 模板系统呈现的动态自动完成下拉菜单。在 Safari 上,当我的下拉菜单关闭时(即下拉菜单打开,然后关闭),我在输入上看到一条奇怪的线。

野线出现

事情是这样的:在我向下滚动后(这样输入在视口中不再可见),然后向上滚动,该行消失了:

线消失

您能否指出与此问题相关的一些信息,或者其他人是否遇到过此类渲染问题?

我使用 CanJs javascript 框架作为客户端 MVC,它使用 EJS 模板呈现系统。另一件事是:它不会在其他 iPad 浏览器上重现,无论是在 Android 上还是在桌面环境上。

0 投票
0 回答
157 浏览

canjs - 延迟加载组件的 CanJS 实时绑定不起作用

我正在使用 headJs 来延迟加载脚本。为简单起见,假设我有 3 个组件,layout-component(tag : custom-layout)、custom1-component(tag : custom-one) 和 custom2-component(tag : custom-two)。

索引.html

应用程序.js

布局组件.js

自定义布局.stache

因此,为了简单起见,最初我将布局设置为“用户”。在加载时,自定义布局已经被获取并执行了 stache。但是,此时没有加载自定义一或自定义二组件。单击按钮时,我会加载组件定义并适当地更改页面值。问题是 custom-one 和 custom-2 被识别为 can 组件并且不渲染。

0 投票
2 回答
124 浏览

canjs - CanJS - 两种方式绑定

如何使用 CanJS 进行双向绑定?

可以显示多种方法吗?使用视图模型?

0 投票
0 回答
208 浏览

javascript - 在 Stache Can.js 中处理 NDJSON 流 Promise

我有这个流 API 端点:

https://step3-ndjson-stream-api-demo.glitch.me/

我尝试使用can.js NDJSON 流进行渲染,并按照示例得到了一些成功输出到 console.log 但只有第一个对象。

这是我的 app.js(截断):

这是我的 index.stache 的一个片段:

我的控制台开发者视图(注意第一次调用成功):

控制台视图

我想我必须处理 index.stache 中的 promise 对象,但不确定...谢谢您的关注。

更新

最后我能够得到流数据:

}

并修改我的 index.stache:

但我仍然收到错误/警告:

UnhandledPromiseRejectionWarning:错误 [ERR_HTTP_HEADERS_SENT]:在将标头发送到客户端后无法设置标头

[DEP0018] 弃用警告:不推荐使用未处理的承诺拒绝。将来,未处理的 Promise 拒绝将使用非零退出代码终止 Node.js 进程。

失败的承诺:TypeError:response.getReader 不是函数

有谁知道如何清除它们?

0 投票
1 回答
28 浏览

canjs - 如何从动态生成的表单元素中获取值

在 canJs 中,我们使用 can-value 将元素的值绑定到控制器。

但是我们如何将动态生成的组件的值绑定到控制器?我尝试了以下方式

但以下是未定义的