我需要跨控制器共享数据。所以我从服务返回我的共享数组,然后将服务注入需要访问它的任何控制器。
angular.module('mappingLayers', [])
.constant('MODULE_VERSION', '0.0.3')
.service('layersAvailableToMap', function () {
return [];
});
;
我也使用MVC4模板,RenderBody调用两个不同的index.cshtml中的一个 页/观点
_Layout.cshtml
<header>
<div class="content-wrapper">
<div class="float-left">
<p class="site-title">My Title</p>
</div>
<div class="float-right">
<section id="login">
Hello, <span >@User.Identity.Name</span>
</section>
<nav>
<ul id="menu">
<li>@Html.ActionLink("Portfolio", "Index", "Home")</li>
<li>@Html.ActionLink("Profile", "Index", "Profile")</li>
</ul>
</nav>
</div>
</div>
</header>
<div data-ng-app="portfolioApp">
<section >
@RenderBody()
</section>
</div>
当我在index.cshtml页面之间切换时(通过Portfolio和Profile ActionLinks并通过RenderBody()呈现)和我的共享数据服务数组被重新创建 - 即每个页面一个。
所以,问题是,如何在我的_layout页面中通过RenderBody呈现的不同页面中的控制器之间共享我的服务。
在其中一个页面中的多个控制器中注入服务可以正常工作。
顺便说一句,在我认为不应该的时候,在两个index.cshtml页面之间切换(即调用RenderBody)似乎会导致整页刷新/回调。这可能指向问题?
感谢。