gpt4 book ai didi

javascript - 有没有办法在 AngularJS 中强制重新加载递归 ng-include ?

转载 作者:行者123 更新时间:2023-11-28 00:26:59 24 4
gpt4 key购买 nike

我在 Angular 应用程序中使用递归脚本来输出一堆对象的表示。

问题是,如果我动态更改对象的结构, View 不会更新。看来 ng-include 没有重新生成。

有没有办法强制 View 中的 ng-include 从头开始​​工作?

最佳答案

我也遇到了同样的问题。尝试 ui-if 指令,它解决了我的问题。

app.directive("uiIf", function () {
return {
transclude: 'element',
priority: 1000,
terminal: true,
restrict: 'A',
compile: function (element, attr, linker) {
return function (scope, iterStartElement, attr) {
iterStartElement[0].doNotMove = true;
var expression = attr.uiIf;
var lastElement;
var lastScope;
scope.$watch(expression, function (newValue) {
if (lastElement) {
lastElement.remove();
lastElement = null;
}
if (lastScope) {
lastScope.$destroy();
lastScope = null;
}
if (newValue) {
lastScope = scope.$new();
linker(lastScope, function (clone) {
lastElement = clone;
iterStartElement.after(clone);
});
}
iterStartElement.parent().trigger("$childrenChanged");
});
};
}
};
});

当该值设置为 false 时,该元素将消失。如果为 true,它将再次渲染。

关于javascript - 有没有办法在 AngularJS 中强制重新加载递归 ng-include ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29385535/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com