2015-04-23 108 views
1

頁面的時間:編譯HTML字符串在HTML中加載

<vs-context-menu id="contextMenu" class="dropdown-menu pointer-cursor" context-menu-hide></vs-context-menu> 
在角JS指令

directive('vsContextMenu', function ($compile) { 
    var defaultTemplate = '<ul style="list-style-type: none; padding-left: 20px;" ><li>AA</li></ul>'; 

    return { 
     restrict: 'E', 
     link: function(scope, element, attrs) { 
       element.html(defaultTemplate).show(); 
       $compile(element.contents())(scope); 
     } 
    }; 
}); 

上下文菜單中顯示出來的點擊罰款。但它在加載頁面時閃爍。如何在加載頁面時隱藏它?

+0

NG-斗篷https://docs.angularjs.org/api/ng/directive/ngCloak – Rouby

+0

使用'NG-cloak'的元素,它不工作 – fatCop

回答

2

而不是使用鏈接功能呈現它,請使用template指令的參數,這將不會顯示閃爍效果&也會在該元素上添加ng-cloak

指令

directive('vsContextMenu', function($compile) { 
    var defaultTemplate = '<ul ng-cloak style="list-style-type: none; padding-left: 20px;" ><li>AA</li></ul>'; 
    return { 
     restrict: 'E', 
     template: defaultTemplate 
    }; 
}); 
+1

非常感謝很多@pankajparkar! – fatCop

+0

@fatCop很高興爲您效勞,謝謝:) –