将动态html插入到durandal视图中

时间:2013-06-04 15:37:19

标签: knockout.js single-page-application durandal

我在durandal视图中动态插入html但是它无法帮助我解决这个问题吗?我的示例HTML是

在durandal view

<div data-bind="foreach:arrayofmodels">
    <div data-bind="html:dynamichtml"/>
  </div>

在我的模型(不是视图模型)中将插入动态html

dynamichtml(<span data-bind="click:Mymodelclickfunction"/>);

在我的viewmodel中

    var arrayofmodels=ko.observableArray();
     vm={
         arrayofmodels:arrayofmodels;
       }
return vm;

有一个单独的函数来获取模型对象列表并将它们推入 arrayofmodels 数组。

我理解问题是在应用绑定后插入html,但是如何解决这个问题呢?

1 个答案:

答案 0 :(得分:-1)

更新:

您是否考虑过为此目的使用Durandal的撰写机制?假设模型返回一个带有Mymodelclickfunction属性的构造函数,下面的内容可以让你开始。

model.js

define(function() {
    return function() {
        this.Mymodelclickfunction = function(){
           //...
        }
    };
});

model.html

<div>
    <span data-bind="click:Mymodelclickfunction"/>
</div>

根据评论进行更新 durandal view

<div data-bind="foreach:arrayofmodels">
    <!-- ko compose: $data -->
    <--/ko -->
</div>

查看http://dfiddle.github.io/dFiddle-1.2/#/view-composition的视图合成部分,了解更多示例。