Angularjs ng绑定和插值{{}在角度
两者之间有什么区别吗 {{}}和ng以角度绑定Angularjs ng绑定和插值{{}在角度,angularjs,Angularjs,两者之间有什么区别吗 {{}}和ng以角度绑定 我是个新手。我从使用{{}开始,然后在文档中找到了ng bind。我认为他们做的是相同的工作,但为什么会有一个额外的指令,如果没有,请说明区别。{{}可以在页面加载时闪烁,ng bind会正确隐藏表达式,直到它正确显示。官方文档中有一些提示: 通常,您不直接使用ngBind,而是使用 类似{{expression}}的双卷曲标记,类似但较少 冗长的 如果 浏览器会在其原始状态下即时显示模板 在Angular编译之前。由于ngBind是一个元素属性,
我是个新手。我从使用{{}开始,然后在文档中找到了ng bind。我认为他们做的是相同的工作,但为什么会有一个额外的指令,如果没有,请说明区别。{{}可以在页面加载时闪烁,ng bind会正确隐藏表达式,直到它正确显示。官方文档中有一些提示: 通常,您不直接使用ngBind,而是使用 类似{{expression}}的双卷曲标记,类似但较少 冗长的 如果 浏览器会在其原始状态下即时显示模板 在Angular编译之前。由于ngBind是一个元素属性,因此 在加载页面时,使绑定对用户不可见
它们之间最明显的区别是在使用
{{…}
时未设置样式的内容的闪存
但是,如果传递给{{obj}
的对象和ng bind=“obj”
的对象不是字符串,则两者之间存在更细微的区别
发件人:
根据您使用的是{{…}
还是ngbind
语法
将调用对象上的.toJSON
和.toString
函数
确定其代表性
在AngularJs中,ng bind指令可替代插值指令{{}。通过向HTML元素插入ng bind属性,我们可以将AngularJS数据插入其中 以下是一个例子:
<div ng-controller="DemoController" >
<span ng-bind="demoData.doThis()"></span>
</div>
关键区别在于ng bind属性不会在页面加载时显示Html内容,其中as INTERPOINTION指令在页面加载时显示为没有样式的内容闪烁。除了上述答案 插值的性能问题: 正如《线程更好》中所解释的
ng bind
是一个指令,将在传递的变量上放置一个观察程序。因此,ng bind
仅在传递的值确实发生更改时才适用
另一方面,括号将在每个$digest中进行脏检查和刷新,即使这不是必需的。有时当我们在浏览器中加载应用程序时,我们会注意到在解析{{name}和加载数据之前,内容会闪烁几毫秒 这是因为模板是在AngularJS有机会进入并编译元素之前加载的。要解决此问题,可以使用ng斗篷指令 在第一种方法(即{}})中,AngularJS对表达式求值,然后将其替换为某个值,该值有时会保留为闪烁的双花括号,但ng bind通知AngularJS将表达式的内容放在元素本身中,从而节省了这段时间 注:
{{}如果页面中有数千个绑定,有时会导致性能问题。在这些场景中,我们应该使用ng bind。另一个区别是
ng bind
和插值
显示数据的方式。
ng bind
调用toString()
方法,而interpolation
使用自定义的“stringify”函数
例子
插值仅用于只读目的,不能在小胡子括号内为已在Typescript文件内声明的变量赋值
它们之间的基本区别在于,ng bind应该始终在元素内部使用,但插值指令可以在元素内部、外部和元素之间使用。不是答案,但ng bind很容易通过ng bind html进行交换,ng bind html将实际的html文本放在元素内部而不是纯文本
因为我想知道(好的,只是)分钟,我也把它添加到这里。我的问题是,文本DOM资源管理器显示相同的输出 投票决定重新开放,因为这是一个明确的问题,但是这个问题可以从
<div ng-controller="showClockCtrl">
<p>The current time is {{currentDateTime}}.</p>
<p>The current time is <span ng-bind="currentDateTime"></span>.</p>
</div>
<div ng-controller="showClockCtrl">
<p>MyObject is {{myObject}}</p>
<p>MyObject is <span ng-bind="myObject"></span></p>
</div>
<script>
var showClockCtrl = function ($scope) {
$scope.currentDateTime = new Date();
$scope.myObject = {
'key1': 'value1',
'key2': 'value2',
'key3': 'value3'
}
};
</script>
The current time is "2017-11-18T15:09:59.429Z".
The current time is Sat Nov 18 2017 10:09:59 GMT-0500 (EST).
MyObject is {"key1":"value1","key2":"value2","key3":"value3"}
MyObject is [object Object]