Javascript 具有多个视图模型的嵌套绑定

Javascript 具有多个视图模型的嵌套绑定,javascript,html,knockout.js,Javascript,Html,Knockout.js,请帮助我解决这个问题。我从过去3周就一直在这个问题上。 我有一个html文件,其父div id通过创建一个javascript对象绑定到knockout observable。在html的父div id中,有另一个子div id,我需要与第二个javascript对象绑定并填充foreach块。但我无法实现此方案。如果有人帮助我解决此方案,我将非常高兴 I have mentioned here some dummy example of my scenario.Please ignore mi

请帮助我解决这个问题。我从过去3周就一直在这个问题上。 我有一个html文件,其父div id通过创建一个javascript对象绑定到knockout observable。在html的父div id中,有另一个子div id,我需要与第二个javascript对象绑定并填充foreach块。但我无法实现此方案。如果有人帮助我解决此方案,我将非常高兴

I have mentioned here some dummy example of my scenario.Please ignore minor errors of naming convention and trailing quotes as its just a dummy code.
HTML文件 (div id“main”绑定到MainModel.js。在MainModel.js的对象上,调用showCateogaries()方法,并从该方法调用getCategories1(),该方法填充类别的值。但实际上没有填充,错误是“无法解析绑定”)

MainModel.js subminmodel.js
showMain没有在mainModel上声明?mainModel(大写M)没有在代码中声明为anywere?@Anders:这是一个伪代码,所以我没有提到所有细节。this.showMain=ko.可观察(假);在MainModel.js中提到,尾随引号存在,命名约定也正确遵循。如果我提到这一点,代码工作正常。categories=ko.observearray([]);mainModel.js中的getCategories1()。但由于我希望它们在单独的js中,所以问题就来了
<div  id="main" data-bind="visible: showMain">
        <div  id="subMain" >
              <p data-bind="text: name"></p>
              <ul id="tabArea"  data-bind="foreach : categories">
                       <li  data-bind="text: $data.categoryname ></li>
              </ul>
                </div>      
</div>
var main1=new MainModel(); //Main View Model
ko.applyBindings(main1,$('#main')[0]);

main1.showCateogaries();
function(ko,subMainModel){
     var  mainModel =function(){
           this.showCategories = function(){
            subMainModel.getCategories1();              
        }
     }
}
function(ko){

     this.categories = ko.observableArray([]);

      this.getCategories1 = function(){
                // some code goes here
        this.categories(categoryArray.reverse());   
      };
}