inserting dynamic html into durandal views

浪子不回头ぞ 提交于 2020-01-15 10:43:28

问题


I am dynamically inserting html in durandal views but it does'nt work can any one help me out in that? my sample html is

in durandal view

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

in my model(not view model) which is going to insert dynamic html

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

in my viewmodel

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

there is a separate function to get list of model objects and push them into arrayofmodels array .

I understand the problem is inserting html after bindings were applied, but how to solve this issue?


回答1:


Updated:

Have you considered using Durandal's compose mechanism for that purpose? Assuming that the model returns a constructor function with a Mymodelclickfunction property something along the following should get you started.

model.js

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

model.html

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

Update based on comment durandal view

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

Take a look at the view-composition section of http://dfiddle.github.io/dFiddle-1.2/#/view-composition to see some more examples.



来源:https://stackoverflow.com/questions/16921924/inserting-dynamic-html-into-durandal-views

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!