返回动态标题的$stateParams
Return $stateParams for dynamic title
我可以在点击"计数"页面的链接时传递路由器参数
$state.go('count', {targetName: object.name})
因为在路由器中建立了如下所示的内容:
url: '/count/:targetName',
我们使用UI路由器中的data:
选项与$state
组合来动态设置我们的页面标题
<title ng-bind="'Application Name : ' + $state.current.data.pageTitle"></title>
我希望pageTitle
包括:targetName
。因此,为了做到这一点,我认为我需要在路由器的data:
属性中设置一个函数。我试过这样的东西:
data: {
pageTitle: function () {
getTargetName.$inject('$stateParams');
function getTargetName ($stateParams) {
return $stateParams.targetName;
}
}
}
这根本不允许解析页面。
有什么建议吗?
有一个工作的plunker
让我们有这样的状态
// this is just a state, with its own pageTitle STRING
.state('home', {
...
data: {
pageTitle: "Just a home page"
},
})
// this is a parent state, with URL parameter 'someParam'
// nad pageTitle as a function
.state('parent', {
...
url: "/parent?someParam",
data: {
pageTitle: function ($stateParams) {
return `title with a param ${$stateParams.someParam}`;
}
}
})
// and to show that child can change it
.state('parent.child', {
...
data: {
pageTitle: "just a child title",
}
})
使这行代码工作:
<title>The tile is: {{ getTitle() }} </title>
我们可以在$rootScope
中添加一些小的评估,但当然,它应该是一些服务将其视为简化的方法:
.run(['$rootScope', '$state', '$stateParams',
function ($rootScope, $state, $stateParams) {
$rootScope.getTitle = function(){
var state = $state.current;
var params = $stateParams;
if (state.data
&& state.data.pageTitle) {
if(typeof (state.data.pageTitle) === "function" ){
return state.data.pageTitle(params);
}
return state.data.pageTitle
}
return "no title for this state"
}
}])
所有这些链接都将有不同的标题
<a href="#/home">
<a ui-sref="parent({someParam: 1})">
<a ui-sref="parent({someParam: 'someValue'})">
<a ui-sref="parent.child">
点击此处查看操作
相关文章:
- CSS-如何定位内容数据标题
- 在PHP中使用javascript更改页面标题'if'
- Brightcove获取/显示HTML中的当前视频标题和描述
- React组件-设置页面标题
- jQuery动态更改标题
- HighCharts长标题文本在某些元素上重叠
- 将行添加到具有固定标题的HTML表中
- CKEditor v4:自制插件中对话框的动态标题
- 如何在自动完成时设置属性标题
- 单元格的工具提示或标题不显示超过2000个字符
- 如何从相应的控制器动态更新标题和描述
- 将超链接添加到“;标题“;标记文本
- 为什么我会出现此错误"未捕获引用错误:未定义标题;
- FullCalendar:事件发生时阻止重叠.标题是一样的
- jQuery动画标题滚动
- 如何动态更改dataTablejQuery插件的列标题
- Wordpress标题和子菜单样式对IE的不满
- 正在尝试将标题标记添加到mailto链接,正文中包含URL
- 使用JavaScript将标题文本替换为按钮文本
- 返回动态标题的$stateParams