如何使用angularjs处理动态菜单

如何使用angularjs处理动态菜单,第1张

这个需求中,两个关键点:

菜单所需代码的动态加载

菜单路由的动态配置

这个地方,其实不是很有必要去按照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)

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11563743.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存