当角度$scope发生变化时,不要更新 HTML
Don't update HTML when angular $scope changes
我的JS中有for
循环:
for (var i=0;i<2;i++) {
$scope.widget = widgets[i];
$scope.header = widgets[i].data.header;
$scope.items = widgets[i].data.items;
$scope.footer = widgets[i].data.footer;
var widget = widgets[i];
var div1 = '<div id="' + widget.id + '" class="' + widget.width +'" >';
var div2 = '<div class="panel" style="background-color:' + widget.color +';color:white;">';
var header = widget.body.headerTemplate;
var panelStart = '<div class="panel-collapse pull out">';
var widgetBody = widget.body.itemTemplate;
var widgetFooter = widget.body.footerTemplate;
var panelEnd = '</div>';
var div2End = '</div>';
var div1End = '</div>';
var widgetHTML = div1 + div2 + header + panelStart + widgetBody + widgetFooter + panelEnd + iv2End +iv1End;
console.log(widgetHTML);
var linkingFunction = $compile(widgetHTML);
var elem = linkingFunction($scope);
$(elem).appendTo("#widgetsContainer");
}
将一些 HTML 附加到div 容器。在该 HTML 中,有如下所示的数据绑定:
<a href='{{header.redirectUri}}'>{{header.title}}</a>
当然,$scope变量每次循环时都会更改,最终所有范围变量都会使用最后一个值更新 HTML。绘制 HTML 后是否可以不更新?
是 -
在 angular 1.3.x 中引入 - 一次性绑定
<a href='{{::header.redirectUri}}'>{{::header.title}}</a>
对于 ng 重复,请执行以下操作:
'ng-repeat="item in ::items"'
在探索 Angular 1.3 - 一次性绑定中阅读更多内容
使用单向绑定,如果您使用 Angular 1.3.x,则使用
<a href='{{::header.redirectUri}}'>{{::header.title}}</a>
或使用绑定一次
相关文章:
- $Scope变量在HTML中不更新,尽管在控制器中不断更新
- HTML动态更新滑块输入
- AngularJS$apply有时不会;当在highchart中使用click事件时,t触发更新{{}}中html标记中
- 用jQuery.html更新span内部html在IE中不起作用
- jquery html更新可以在电脑上使用,但不能在智能手机上使用
- 使用HTML更新JavaScript对象
- Angular.js:如何将数据从一个HTML更新到使用相同控制器的另一个HTML
- 简单的内部HTML更新不起作用
- 如何根据用户输入 HTML 更新多个 SPAN 元素
- 如何在现有JQuery数据表上使用HTML更新现有行
- 点击使用jQuery用HTML更新DIV
- 滚动条在使用$selector.html()更新内容后重置
- 从jquery ajax调用html更新多个元素
- HTML更新没有反映在AngularJS中
- 如何从HTML更新MySQL数据库
- 我正在尝试使用按钮创建一个动态HTML更新
- 不使用HTML 5更新查询字符串(没有重定向)
- 点击Sencha touch中html更新后新元素上的事件
- 使用Javascript/HTML更新两组值的按钮
- 使用Javascript从HTML更新MySQL数据