我有一个奇怪的边缘情况,关于前端架构非常差的应用程序上的 Angular 1.x 组件绑定。
我有一个名为 searchController 的基本控制器,它的所有子组件都是 searchController.html 上的元素。在 searchController 上.html有五个组件和三个硬编码选项卡,分别用于"人"、"地点"和"事物"。您可以通过多个搜索模式或单击其中一个选项卡来执行搜索。单击选项卡执行搜索,默认情况下,我们登陆人员选项卡。
当我登录到应用程序并执行搜索时,所有子组件绑定都会更新。当我硬刷新并执行搜索时,所有子组件绑定都会更新。但是,当我注销并随后重新登录并执行搜索时,绑定不会更新。但是,当我单击另一个选项卡时,将执行搜索并更新绑定 DO。问题不在于模态,因为信息是从模态传递到搜索控制器文件的。
我想要解决这个问题的任何线索,因为任何根本性的更改都会损害已经脆弱的应用程序。
我建议您尝试以下方法。我们可以将 DOM 操作与这样的角度技术一起使用。
var element = angular.element(document.querySelector('#YOUR_ELEMENT'));
element.html('HTML_CHANGES');
这不会破坏您现有的功能,如果您可以将其放入单独的服务类中,那么我们仍然保留了像这样的角度基本概念。
angular.module('YOUR_APP').factory('UIServices', function () {
return {
changeViewAfterLogin: function () {
var ele = angular.element(document.querySelector('YOUR_ELEMENT'));
ele.toggleClass('HTML_CHANGES');
},
}
并尝试在控制器中调用此服务函数并执行任何您想要的操作。