UI路由器动态<标题>标签路由器、标签、标题、动态

2023-09-13 03:49:49 作者:橘落淮南终成枳

我在那样的UI路由器添加标题到每个状态:

  .STATE('项目',{    网址:'/',    templateUrl:项目/ projects.html',    ncyBreadcrumb:{        标签:'项目'    },    数据:{标题:'项目'}}) 

然后是title属性需要的数据:

 <标题NG绑定=$ state.current.data.title>< /标题> 

我如何采取从状态参数数据,并在上面的例子中添加标题?我试过,没有运气以下内容:

  .STATE('项目',{    摘要:真实,    网址:'/项目/:PROJID',    解决:{        PROJID:['$ stateParams',函数($ stateParams){            返回$ stateParams.projId;        }]    },    控制器:'p​​rojectCtrl',    templateUrl:项目/ project.html',    ncyBreadcrumb:{        标签:'工程',        家长:'项目'    },    数据:{标题:{{状态}}}}) 
十月优秀作品点评

解决方案

您必须使用 app.run()在app.js文件,并在 $ rootScope分配您的标题。标题。你可以按照这个code

  app.run(函数($ rootScope){    $ rootScope。在$('$ stateChangeStart',函数(事件,toState,toParams,fromState){        $ rootScope.title = toState.data.title;    });}); 

在此之后则变量绑定在你的HTML像这样

 <标题NG绑定=标题>< /标题> 

我认为这将有所帮助。

I'm adding a title to every state in the ui-router like that:

.state('projects', {
    url: '/',
    templateUrl: 'projects/projects.html',
    ncyBreadcrumb: {
        label: 'Projects'
    },
    data : {title: 'Projects'}
})

And then the title attribute takes that data:

<title ng-bind="$state.current.data.title"></title>

How can I take data from the state parameters and add it to the title in the above example? I tried the following with no luck:

.state('project', {
    abstract: true,
    url: '/projects/:projId',
    resolve:{
        projId: ['$stateParams', function($stateParams){
            return $stateParams.projId;
        }]
    },
    controller: 'projectCtrl',
    templateUrl: 'project/project.html',
    ncyBreadcrumb: {
        label: 'Project',
        parent: 'projects'
    },
    data : {title: '{{state}}'}
}) 

解决方案

you have to use app.run() in your app.js file and assign your title in $rootScope.title . you can follow this code

app.run(function($rootScope){
    $rootScope.$on('$stateChangeStart', function(event, toState, toParams, fromState){

        $rootScope.title=toState.data.title;
    });
});

after this then bind the variable in your html like this

<title ng-bind="title"></title>

I think it will helpful

 
精彩推荐
图片推荐