带有RequireJS标签的AngularJS简要显示

时间:2015-02-17 19:27:25

标签: javascript angularjs requirejs

我正在使用angularjs使用require但问题是,角度标签显示片刻,直到解析角度脚本。

我是否必须将angularjs带出requirejs并在requirejs初始化之前定义它或者有更好的方法吗?

这是我的要求:

require.config({
    map: {},
    paths: {
        "angular": [
            "angular"
        ],
        "jquery": [
            "jquery"
        ],
        'bootstrap': [
            'bootstrap'
        ],
        'kendo': [
            'kendo'
        ]
    },
    shim: {
        'bootstrap': ['jquery'],
        'kendo': ['jquery'],
        'angular': {
            exports: 'angular'
        }
    }
})

2 个答案:

答案 0 :(得分:2)

当在文档头部外部加载角度时(正如您通过使用requirejs加载角度那样),ng-cloak将不会立即起作用,因为隐藏角度元素所需的样式包含在angular.js中。

要修复,您可以在文档的头部手动添加这些样式。一个简单的样式标签就可以做到。

<style type="text/css">
    [ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
        display: none !important;
    }
</style>

作为一个全部,你可以将ng-cloak指令添加到文档的body标签(或具有ng-app的相同标签),尽管最佳做法是仅将ng-cloak添加到需要它的元素

答案 1 :(得分:1)

这是ngCloak旨在解决的用例。

  

ngCloak指令用于防止浏览器在加载应用程序时以原始(未编译)形式短暂显示Angular html模板。使用此指令可避免由html模板显示引起的不良闪烁效应。

     

该指令可以应用于元素,但首选用法是将多个ngCloak指令应用于页面的一小部分,以允许逐步呈现浏览器视图。

<div id="template1" ng-cloak>{{ 'hello' }}</div>