91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

angularjs解決方案之 遞歸模板

發布時間:2020-07-01 17:55:03 來源:網絡 閱讀:1272 作者:愛笑嘚蛋蛋 欄目:開發技術

手風琴模式的菜單:

    在項目中我們會遇到不知層級的json數據,需要前端人員去遍歷生成View視圖,這種情況下我們就會用到遞歸方法。

    angularjs中的dom結構也是可以用遞歸的方式去循環遍歷數據。

<ul side-navigation class="nav metismenu" ng-include="'navigations'" id="side-menu">
</ul>
<script id="navigations" type="text/ng-template">
    <li ng-repeat="navs in functionGroups">
		<a href="`navs`.`functionpoint`"><span class="nav-label">`navs`.`name`</span><span ng-if="navs.children.length" class="fa arrow"></span></a>
        <ul ng-if="navs.children.length" ng-include="'navigations'" class="nav nav-second-level" ng-init="functionGroups=navs.children"></ul>
    </li>
</script>

另一種采用指令的方式:(未測試)

angular.module('demo').directive('recursion',function($compile){
 
    function cpl(element, link){
        // Normalize the link parameter
        if(angular.isFunction(link)){
            link = { post: link };
        }
 
        // Break the recursion loop by removing the contents
        var contents = element.contents().remove();
        var compiledContents;
        return {
            pre: (link && link.pre) ? link.pre : null,
            /**
             * Compiles and re-adds the contents
             */
            post: function(scope, element){
                // Compile the contents
                if(!compiledContents){
                    compiledContents = $compile(contents);
                }
                // Re-add the compiled contents to the element
                compiledContents(scope, function(clone){
                    element.append(clone);
                });
 
                // Call the post-linking function, if any
                if(link && link.post){
                    link.post.apply(null, arguments);
                }
            }
        };
    }
    
    return {
        restrict:'A',
        scope: {recursion:'='},
        template: '<li ng-repeat="item in recursion">\
                        <a href="`item`.`cateId`.html">`item`.`cateName`</a>\
                        <ul recursion="item.child">\
                        </ul>\
                    </li>',
        compile: function(element){
 
            return cpl(element, function(scope, iElement, iAttrs, controller, transcludeFn){
                // Define your normal link function here.
                // Alternative: instead of passing a function,
                // you can also pass an object with
                // a 'pre'- and 'post'-link function.
            });
        }
    };
});


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

台湾省| 全南县| 宁津县| 二连浩特市| 遂川县| 宿松县| 阿拉善右旗| 城口县| 婺源县| 依兰县| 高台县| 岑溪市| 吕梁市| 奉节县| 洞头县| 广元市| 高平市| 上栗县| 绿春县| 深水埗区| 分宜县| 临夏市| 大安市| 大同市| 将乐县| 永新县| 溧水县| 阜宁县| 故城县| 板桥市| 马山县| 枞阳县| 大厂| 普定县| 洛宁县| 潮州市| 平度市| 邮箱| 恩平市| 灵石县| 紫金县|