Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 角JS第一教程_Angularjs - Fatal编程技术网

Angularjs 角JS第一教程

Angularjs 角JS第一教程,angularjs,Angularjs,我刚刚开始学习英语。我对以下代码有疑问 <html ng-app> <head> </head> </body> <h1>{{hello}} </h1> <input type="text" ng-model="hello"/> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/

我刚刚开始学习英语。我对以下代码有疑问

<html ng-app>
<head>
</head>
</body>
<h1>{{hello}} </h1>
<input type="text" ng-model="hello"/>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.min.js"></script>
</body>
</html>

{{你好}}
Query:这段代码工作正常,但当我刷新页面时,我会看到{{hello}几秒钟。为什么?

您可以更改以下内容:

<h1>{{hello}} </h1>
{{hello}
为此:

<h1 ng-bind="hello"></h1>

这是因为HTML是在后期编译的。因此,首先您会看到HTML,然后构建角度效果

如果通过添加属性
ng bind
来设置绑定,则HTML代码中没有括号,括号在几秒钟内都不会出现


如果您想了解更多信息,请阅读以下内容:

为什么会发生这种情况?

您的浏览器将呈现HTML,angular将在稍后使用DOM操作

解决方案1:ng绑定

您可以使用
填充H1标签。 因为H1标记中没有要呈现的HTML,所以当angular还没有完成它的神奇功能时,您将不会看到它以{{hello}}符号闪烁

我认为这样做的缺点是,在想要显示的内容周围总是需要一个包装元素

解决方案2:ng斗篷

只要angular还没有准备好,你可以用ng斗篷来包裹任何你想隐藏的东西

它看起来像:
{{'hello'}
或您的案例中的
{{{'hello'}

我在ng斗篷中看到的好处是,您可以使用它来包裹更大的区域。 您可以使用ng斗篷隐藏整个angular影响区域,并在angular未启动和运行时显示加载程序动画


使用ng斗篷指令

<h1 data-ng-cloak>{{hello}} </h1>
{{hello}
NgClope指令用于防止浏览器在应用程序加载时以原始(未编译)形式短暂显示Angular html模板


<body ng-cloak>
<h1>{{hello}}</h1> 
--------
--------
--------
--------

</body>
{{你好}} -------- -------- -------- --------
要防止浏览器显示角度html模板,请使用NgClope

注意:在你的身体标签中使用ngclope,这将帮助你在整个页面上隐藏这些东西

利用此错误的最佳方法是使用ng bing指令,请参见下面的示例

<h1 ng-bind="hello"></h1>


检查此处。使用ng-Clope可在范围内的数据准备就绪时恢复。因为Angular没有机会替换该值。一种策略是在数据准备就绪之前隐藏页面/div(ng hide/ng show)使用ng DOPE in指令。将ng斗篷放在body标签内。此代码可能有效,但它已经显示出一些样式问题。首先,不建议在没有分配的情况下使用
ng app
。第二,你应该考虑在<代码> <代码>元素中加载角度,以便它可以尽快地被使用,而不是在底部。移动的角度脚本在身体或头部的开始解决了这个问题,但是没有解决这个问题。在此更改之后,当我在输入中键入时,甚至h1也不会得到更新。请记住在您的
头部添加
样式
,否则它将无法像您预期的那样工作,因为该样式需要由Angular包含。