如何在页面中多次编写相同的小部件

时间:2019-06-13 14:11:08

标签: knockout.js durandal

我有一个说z = x + y + n x is initialised to 1 in Super y is initialised to 0 by default in Fly n is initialised to 1 from the constructor parameter z = 1 + 0 + 1 z = 2 的小部件

然后我使用widget/userInfo,在视图中多次加载了此小部件,如下所示:

index.js:

compose

HTML:

activate() {
  this.widget = {
        model: 'widgets/userinfo/viewmodel',
        view: 'widgets/userinfo/view.html',
        activationData: { userId: 1 }
    };
}

当我像上面一样多次编写相同的小部件时,它只会为具有id =“ 2”的最后一个div加载。但我想为两个div加载

我为此问题搜索了Google,但找不到解决方法

1 个答案:

答案 0 :(得分:0)

假设您正在谈论Durandal Widgets,并且该小部件在应用程序启动时已向widget.registerKind('userinfo')注册,那么我相信您应该使用类似的东西。

<div>
    UserInfo: <div id="1" data-bind="userinfo: {data: $root.userInfo}"></div>
    UserInfo-2: <div id="2" data-bind="userinfo: {data: $root.userInfo}"></div>
</div>