Javascript 角度一次性绑定语法提供空白输出
尝试对角度输出使用一次性绑定语法,但在我将::with vm.documents放入时,该语法不起作用Javascript 角度一次性绑定语法提供空白输出,javascript,html,angularjs,Javascript,Html,Angularjs,尝试对角度输出使用一次性绑定语法,但在我将::with vm.documents放入时,该语法不起作用 $interpolateProvider.startSymbol('{['); $interpolateProvider.endSymbol(']}'); <li ng-repeat="item in ::vm.doctors"> {[ ::item.name ]} </li> $interpolateProvider.startSymbol('{[');
$interpolateProvider.startSymbol('{[');
$interpolateProvider.endSymbol(']}');
<li ng-repeat="item in ::vm.doctors">
{[ ::item.name ]}
</li>
$interpolateProvider.startSymbol('{[');
$interpolateProvider.endSymbol(']}');
{[::item.name]}
我做错了什么?是不是您最初设置了
vm.doctors=[]代码>并且一次性绑定将此作为最终值?这将解释在$http.get
完成时不更新值的原因,在变量稳定后,这是一个完全不同的摘要周期。然后第一次在get
callback中设置这个变量应该可以解决这个问题
如果允许进一步更新集合(如在滚动上加载更多项),则不要在集合上设置一次性绑定,而只在项上设置。***{{::item.name}我已设置$interpolateProvider.startSymbol('{[');$interpolateProvider.endSymbol(']}');你从哪里获得虚拟医生?当控制器/指令被实例化时,它在内存中准备好了吗?或者它是从某个API中获取的?@eposodex它是通过$http从控制器中获取的。get…apic可以是您最初设置的vm.doctors=[]代码>并且一次性绑定将此作为最终值?这将解释在$http.get
完成时不更新值的原因,在变量稳定后,这是一个完全不同的摘要周期。然后第一次在get
callback中设置这个变量应该可以解决这个问题。若并没有,那个么发布你们控制器的代码会有很大帮助。好吧,若涉及分页或加载,我应该只在有意义的项目上设置它。它在速度方面会有多大的好处?除非你展示大量的物品,否则差别不会很大。一次性绑定可防止Angular在项目上设置永久手表。name
(每个项目一个)。这将使每个消化周期加快一点。对于这个单一属性,它不会很明显,但如果此列表从使用的项
中的属性数量增加,则使用所有一次性绑定可以产生可见的差异(特别是在显示大量行的情况下)。不过,它可能会像100毫秒的差异:)。它会像15个项目左右,每页x 15行,因此我会测试它,谢谢