我希望将一个项目从控制器的$ scope元素(在本例中为'header'和'content')传递给一个被重定向到的页面。
目前的设置方式如下: - 页面#1加载masterArray,显示所有元素 - 然后用户点击与'href'属性链接的按钮 - 当用户单击href按钮时,将显示新页面(Page#2)。
我的问题:如何将“标题”和“内容”传递到第2页,并确保只映射和显示相关的标题/内容(基于点击的链接)?
以下代码适用于主页面,其中所有数据都会动态显示
app.controller("SomeController", function ($scope, $window) {
$scope.masterArray = [{
title: "MainTitle",
segments: [{
title: "SubTitle",
articles: [{
header: "Article1Header",
content: "SomeContent",
href: "http://uniqueURL1.com"
}, {
header: "Article2Header",
content: "SomeContent",
href: "http://uniqueURL2.com"
}, {
header: "Article3Header",
content: "SomeContent",
href: "http://uniqueURL3.com"
}, {
header: "Article4Header",
content: "SomeContent",
href: "http://uniqueURL4.com"
}]
}
}]
}];
第1页
<div ng-controller="SomeController">
<div class="section">
<div class="segment" ng-repeat="m in shownArray">
<div ng-repeat="s in m.segments" ng-if="m.segments">
<h4 ng-show="filtered.length">{{s.title}} ({{filtered.length}})</h4>
<div template="basic" ng-repeat="a in s.articles|articleFilter:query as filtered" is-open="a.isOpen">
<h2 ng-bind-html="a.header | highlight:query"></h2>
<div>
<p ng-bind-html="a.content | highlight:query"></p>
<a class="button button-primary" ng-href="{{a.href}}">View</a>
</div>
</div>
</div>
</div>
</div>
</div>
第2页(期望结果)
<div>
<h2>//DISPLAYS ASSOCIATED 'header'</h2>
<h3>//DISPLAYS ASSOCIATED 'content'</h3>
</div>
答案 0 :(得分:0)
如果您想使用网址参数,请使用$location.search
:
$rootScope.header = $location.search().header;
如果您希望以不同方式构建网址,也可以使用$routeParams。
两者都需要您正确构建ng-href
:
ng-href="{{a.href+'?header='+a.header+'&content='+a.content}}"
如果您的架构允许,请考虑单页应用,您可以在config()
中使用ui-sref
配置状态,然后使用this.fb.login()
在HTML中访问它们。< / p>