问题标签 [canjs]

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

jquery - 如何在js中将json数组转换为json对象

实际上,我正在尝试使用 canjs 填充年份列表。

CATEGORIES 是现有的 json 对象

并使用 can.ajax 和苗条框架工作从数据库中剩余......我可以使用 can ajax 和 json 编码从数据库中获取详细信息......现在我的问题是如何将这些获取的 json 数组添加到现有的 json 对象...我尝试了下面的代码..

0 投票
1 回答
131 浏览

canjs - js可以延迟路由匹配/手动触发调度吗?

我有一个这样的控件设置:

  1. 渲染一个异步加载的视图。
  2. 视图的数据也是异步加载的。
  3. 监听路由变化。其中一个路由处理程序显示一个模式,其中包含在步骤 2 中加载的模型的详细信息。

问题是用户可能会到达一个页面,该页面有一个指向模型的路由,该路由在控件初始化时不可用,因此显然没有加载模式。

如何在视图渲染后再次触发 distcher 或让控制器遍历路由?

0 投票
2 回答
244 浏览

javascript - CanJS 右键事件

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

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

0 投票
2 回答
106 浏览

javascript - can.routing :触发从 #!/foo/bar 到 #!/foo 的更改

我想了解 CanJS 的路由。到目前为止,我已经设置了以下路线。

我还没有设置监听器,因为我只是在控制台中尝试这个。以下工作正常:

但是在我这样做之后,我想触发一个事件在层次结构中“向上”,回到 #!/plant/1 级别。我试过做can.route.attr({plant : 1, day : undefined}),但没有做任何事情。can.route.attr({plant : 1, day : null})刚刚导致#!plant/1/day/null

那么我如何“重置”路线以现在“知道”关于今天是哪一天的任何信息?

0 投票
2 回答
308 浏览

jquery - jQuery + canJS:点击嵌套列表进行多次传播

我正在使用 canJs 1.1.8 和 jQuery。

我有一个包含一些德国州的嵌套列表

正如我所说,我正在使用 canJS。所以我创建了一个控制器和一个事件:

如果我点击 .states,就会出现隐藏列表。但如果我单击嵌套列表中的复选框之一,列表也会折叠。我怎样才能防止这种情况?

嵌套列表是绝对定位的。

这是小提琴 http://jsfiddle.net/qYdwR/1017/

0 投票
3 回答
132 浏览

javascript - 如何使用 {can.route} 监听空白路由并做出反应?

我想用 CanJS 设置路由,以便根据我点击的 url,设置一些相应的控件。我的问题是试图找到一种方法来表达要在控件中侦听的默认路由:“如果没有匹配,则执行此操作”。有什么建议吗?

到目前为止,这是我的代码。似乎适用于 and 之类的网址/#!/plant/1/day/3/#!/plant/1但不适用于/#!or/

PS我实际上通过这样做使用Can.Control.route插件来做到这一点:

但是路由插件似乎既设置路由又对它们做出反应,我想知道如何在没有特定插件的情况下做到这一点。

0 投票
1 回答
191 浏览

javascript - CanJs 模型服务方法实现

我无法理解如何正确实现 can.Model 服务方法。我目前有这个

我查看了http://canjs.com/guides/Models.htmlhttp://canjs.com/guides/Tutorial.htmlCanJS Model findAll 返回重复项列表

我想我不明白模型是如何工作的。这些方法我唯一需要的是上述声明吗?当我尝试跑步时

var test = new Foo() 然后foo.findAll({}, function(success){//dosomething}, function(xhr){//do something else}) 我得到TypeError: Object #<Constructor> has no method 'findAll'

我缺少这个框架的哪一部分?

作为记录,它与 ac# wcf 服务交互,并从 mongodb 中提取 json 对象

0 投票
1 回答
687 浏览

javascript - canjs中的路由

现在我正在研究 canjs,它看起来像一个很棒的 mvc 框架。我的路由器有问题。我正在使用 wamp 在 localhost 中进行测试。所以问题如下:当我输入 localhost 时,浏览器中的初始 url 是“localhost”,这与我在处理空 url 的路由器中的第一个案例相匹配。问题是我正在做一个 window.location.hast 来重定向用户,但是在我这样做之后它不会被路由,所以这是我需要帮助的部分。我的路由器代码如下:

});

0 投票
1 回答
154 浏览

javascript - 将 Json 对象加载到 javascript 中,然后使用字段

我是 javascript 新手,我已经使用 canJS 将 json 对象加载到我的网站上。json 很长(>1000)行和一个相当复杂的嵌套结构。有没有办法加载对象,以便我可以访问字段和子对象?

我将对象加载到一个<li>元素,然后将该元素传递给另一个函数。问题是当它到达该功能时,我无法访问这些字段。当我查看开发人员工具时,它正确定义了 textContext 名称。我不应该通过<li>吗?我将什么对象传递给我的函数来操作我使用我的服务检索到的 json 对象?

编辑:如何在 canJs findAll() 中使用 json.Parse?

仅供参考:使用 canjs 库,c# 4.0 后端服务,从 mongodb 加载 json。我已经看到在 chrome 开发者工具中返回了正确的对象

0 投票
1 回答
1430 浏览

javascript - HTML 标签在 CanJS 中用小胡子模板转义

我的要求是我需要向用户显示一组选项。我使用了 mustache 模板来使用 CanJS javascript 框架呈现选项。

这里的问题是当我试图呈现如下选项时:Potato Rs。12

mustache 模板正在转义我的 HTML,并使用 HTML 标记显示值。

我在我的模板中也使用了 {{{ }}},但它没有帮助。

请检查小提琴是否相同。

http://jsfiddle.net/arvi87/22CU8/1/

我的小胡子模板:

我将数据绑定到模板的示例控件:

我的选项数组:

任何帮助都会很棒。

谢谢。