Javascript 我可以根据控制器ID在页面中使用控制器吗?
我在项目的几个HTML页面中使用相同的控制器。 我的问题是,每个页面都链接到另一个页面,而不是全部使用相同的控制器。每次打开下一个页面时,每个页面都会复制该页面,并且每个页面都使用自己的控制器,这意味着,前一个控制器中保存的所有数据将不会应用于下一个页面上的新复制控制器 我最近承认每个控制器都有自己的ID(Javascript 我可以根据控制器ID在页面中使用控制器吗?,javascript,angularjs,Javascript,Angularjs,我在项目的几个HTML页面中使用相同的控制器。 我的问题是,每个页面都链接到另一个页面,而不是全部使用相同的控制器。每次打开下一个页面时,每个页面都会复制该页面,并且每个页面都使用自己的控制器,这意味着,前一个控制器中保存的所有数据将不会应用于下一个页面上的新复制控制器 我最近承认每个控制器都有自己的ID($scope.$ID),因此: 我是否可以根据控制器ID请求在HTML页面上使用特定的控制器 或者是否有另一种选择,将控制器的变量存储在另一个地方,在那里我可以使用它们,而不用担心它们会在每
$scope.$ID
),因此:
- 我是否可以根据控制器ID请求在HTML页面上使用特定的控制器
- 或者是否有另一种选择,将控制器的变量存储在另一个地方,在那里我可以使用它们,而不用担心它们会在每一页上重置
现在,交换html\u page\u url.html
和html\u page\u url.html
或任何html
myCtrl
这对所有人都是一样的
在控制器之间传输数据。。你可以用
$rootscope
服务
localstorage
ng switch view
切换视图,然后交换使用相同控制器的html页面。。在这种情况下,您的父页面将包含控制器,所有html页面的其余部分将根据条件进行更改…并且所有页面的控制器保持不变。。。这是在父页面上的。还有其他最合适的方法是Angular服务来存储数据并在需要时检索它们required@atulquest93我想你没有读完整的问题。他已经写过——或者是否有其他选择将控制器的变量存储在另一个地方,在那里我可以使用它们,而不必担心它们会在每一页上重置?——这似乎是他主要关心的问题,他面临的问题是,每当加载一个新视图时,控制器都会再次初始化,因此较早的状态是正确的不可用,他无法使用该数据。谢谢,我目前正在使用$rootScope
,我希望避免这种情况。我一定会考虑其他的选择!
<div ng-controller="myCtrl">
<div ng-switch on="condition">
<div ng-switch-when="condition_output_1">
<div ng-include="'html_page_1_url.html'"></div>
</div>
<div ng-switch-when="condition_output_2">
<div ng-include="'html_page_1_url_2.html'"></div>
</div>
</div>
</div>