问题标签 [canjs-control]

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

jquery - 在 CanJs 中查找附加到元素的控件的名称

我正在使用 Canjs 构建我的 Web 应用程序。现在我在处理它时遇到了一个问题。

控制器在单个 HTML 元素上发生更改,并且附加到该特定元素的控制器在附加新控制器时不会被销毁。所以我决定在我附加其他东西之前销毁所有附加的控制器。

我有两个查询

  1. 如何在特定元素上找到附加的控制器?因为 .controller() 不起作用

  2. 我怎么称呼毁灭?

请帮助我提前致谢。

0 投票
1 回答
1052 浏览

jquery - CanJS点击事件实现

我正在为我的项目使用 CanJS(一个 js 框架),但我遇到了一个问题。

我在 book.js 中编写了一些代码,如下所示:

而且,我的html文件如下:

现在,当我单击带有类gotoPrevPage事件的 div 时不起作用并且我没有看到任何错误,但是当我使用 Chrome 控制台并写下上述事件的 2 行代码时,POST 完成并且它可以工作。我不知道原因。

0 投票
1 回答
430 浏览

javascript - CanJS 表格点击事件

我正在编写一个 canJS 应用程序,到目前为止成功地处理了一个 html 表的点击事件。使用以下代码。

  1. 如何只收听表格的第一列点击而不是整个 td?
  2. 如何从 td (el) 中检索特定列的数据?
0 投票
1 回答
1408 浏览

model-view-controller - CanJS - 控制通信

我现在正在学习CanJS,所以想尝试一个非常基础的小demo。该演示是您将拥有不同类型的移动充值计划,显示在顶部(单选按钮),通过选择每个计划,相应的价格选项将显示在底部的表格中。

对于这个演示,我创建了两个 Model 、 2 Control 和 2 Template 文件,我的问题是两个控件如何相互通信?标准方法是什么?

现在我直接通过它的实例调用控制方法,但我不确定这是否是正确的做法。另外请解释一下Can.Route。

输出 http://jsfiddle.net/sabhab1/2mxfT/10/

数据

模型

控制

看法

主要通话

0 投票
1 回答
654 浏览

javascript - 为使用 CanJS 在文档上触发的事件设置全局侦听器/控制器

可能不是常见的用例,但我在文档上触发了几个自定义事件,应用程序会监听它们。示例:http: //jsbin.com/uradod/3/edit

如何将其转换为 CanJS 控制器?我的情况与此类似:http: //jsbin.com/uradod/6/edit。可能吗?如果是这样,怎么做?

0 投票
1 回答
132 浏览

canjs - canJS 中的 can.Control 是什么,为什么需要它?

canJS中的can.Control是什么?任何详细的例子都会有所帮助

据我了解,can.control 用于 html 中的选项卡和网格。

0 投票
1 回答
716 浏览

javascript - CanJS 未来元素事件绑定

CanJS文档有一个这样的例子:

但是,如果在调用#todos之后创建,则没有事件绑定到未来元素,或者如果其中的方法根据需要删除了预先创建的虚拟对象。如何在控件中重新绑定自定义事件?在实例化调用之后?new TodosTodos#todosControl

0 投票
1 回答
459 浏览

javascript - canjs 在渲染后为 Observe.List 中的元素附加控件

通常问题是我在 Control 中的单击操作不起作用。

在下面的代码中,您可以看到当我使用 Observe.List 生成带有项目的列表时的情况,因此当列表中自动出现新元素时它会更新(见下文),并且它是在 init func 的第一个控件中生成的。

同样在第一个控件中,当将新元素放在列表中时,我将控件附加到它的“{files} add”方法以用于新生成的元素。

问题是在第二个控件中单击事件将不起作用。我认为这是因为我尝试在自动重新生成 Observe.List 完成之前这样做。证据是 jquery 还没有元素。

是否可以在通过自动重新生成 Observe.List 渲染之前附加 Contol ( '{files} add' )?我应该如何以正确的方式在新元素上设置控制?我可以以某种方式做到这一点吗?

列表视图:

列表元素的控件。这里有问题!

0 投票
1 回答
90 浏览

javascript - 可以.Control.defaults和options合并

使用 can.js 我有这个控制:

..和这个标记:

..那么如果我像这样创建该控件的实例:

我希望看到的是 2 个 div,一个插入了单词,另一个newtext插入了单词,nested2但我实际看到的是 2 个newtext插入了单词的 div。

如果我更改我的选项对象,使其不使用嵌套,而是将所有选项放在顶层,那么我没有问题。

因此,在将选项与默认值合并时,canJS 似乎无法正确合并嵌套对象。是这样吗?有没有人有任何聪明的想法,我如何能够在不分叉的情况下支持这个功能?还是我错过了一些明显的东西?如果我能做到这一点,我就不必编写大量费力的选项创建代码。

0 投票
2 回答
244 浏览

javascript - CanJS 右键事件

如何在 CanJS 中绑定右键单击事件?

我尝试了以下操作,但我猜 click 只会捕获左键单击(因为 ev.which 不会在右键单击时记录 3)。