1

我在热毛巾模板中有一个 Durandal 小部件,我需要在外部视图中使用小部件中的一些值。我试过这个:

<div data-bind="widget: { kind: 'myWidget', items: projects, value: newValue }"></div>
<span data-bind="text: newValue"></span>

但是newValue是空的。在controller.js我设置settings.value成功,但我认为这settings仅用于与小部件一起工作,但我需要从 Durandal 小部件中获取一些值。可能吗?

我是 Durandal 小部件的新手,非常感谢任何帮助!

4

1 回答 1

4

我前段时间也有同样的问题。我使用 durandal 事件解决了这个问题。您可以在下一个网址中找到更多信息:http: //durandaljs.com/documentation/Events/

同样在某些情况下,我使用 url 在小部件和视图之间发送一些信息,但这是针对非常特定的情况。在小部件中执行某些操作时意味着更改当前视图。

如果您需要有关此解决方案之一的更多信息,我可以添加一些示例。

- - -编辑 - -

要在 durandal 中引发事件,您必须使用 app 模块:

app.trigger("someEvent");

要捕获此事件,您必须这样做:

app.on("someEvent", function () {
  //Do that you want
});

因此,您可以从小部件中抛出一个事件,并捕获您想要的位置。

于 2013-04-27T13:04:42.573 回答