
菜单路由的动态配置
这个地方,其实不是很有必要去按照ui-router或者什么来配置路由,完全可以自己实现一个功能加载器:
$stateProvider
//动态菜单
.state("Menu", {
url: "/menu/:code",
templateUrl: "modules/menuloader.html"
})
然后这个menuloader.html里面,只放一个ng-include,它的地址关联到一个动态变量,这个变量根据传入的那个code去读取。
在这个state的resolve里面,根据code获取到菜单对应的html地址,js地址,然后用动态加载控制器的方式把js加载完成,然后把html地址赋值给上一段里提到的那个变量。
这样,你就没有定义多个路由,而是直接用一个路由的配置完成了所有的动态获取过程,菜单以后可以任意无限加,不用改任何公共代码。
页面既然得到从服务器传过来的json数据之后,还要转换为Object比如,服务器组装好的json数据:
{
id:'001',
nodeMsg:'节点1'
}
这个是ajax成功之后的回调
function(xhr){
var o = eval('(' + xhr.responseText + ')')
alert(o.id + ':' + o.nodeMsg)
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)