varMVC={}MVC.model =(function(){var data ={sidebar:[{title:'sidebar1',href:'./a.html'},{title:'sidebar2',href:'./b.html'},{title:'sidebar3',href:'./c.html'}]}return{getData:function(key){return data[key]},setData:function(key,value){data[key]= value}}})()MVC.view =(function(){var m =MVC.modelvar view ={createSidebar:function(){var data = m.getData('sidebar')var html ='',html +='<div id="siderbar">'for(var i =0; i<data.length;i++){html +='<div class="sidebar-item" href="`+data[i].herf +`">`+ data[i].title +`</a></div>'}html +='</div>'document.body.innerHTML = html}}returnfunction(v){view[v]();}})()MVC.ctrl =(function(){var m =MVC.modelvar v =MVC.viewvar c ={initSideBar:function(){v('createSidebar');}updateSideBar:function(){m.setDate('sidebar',[{title:'new sidebar', herf:'./aa.html'}])}}return c
})()window.onload=function(){MVC.ctrl.initSideBar()setTimeout(function(){MVC.ctrl.updateSideBar()},3000)}
关于computed计算属性传参的问题,因为computed是计算属性,如果给conputed传参则会直接报错,并且报computed is not function。 解决办法: 方法一: 通过返回函数来进行传参: 代码: computed:{ …