gpt4 book ai didi

javascript - 动态模板 Angular UI-Router

转载 作者:行者123 更新时间:2023-11-27 22:56:32 25 4
gpt4 key购买 nike

我正在尝试根据用户加载导航栏。

为此,我需要设置动态模板,但我看不到我的 $rootScope

$stateProvider
/*Login*/
.state('login', {
url: '/',
data: {pageTitle: 'Inicio de sesión.'},
resolve: {},
views: {
'navbar': {
templateUrl: null,
controller: null
},
'body': {
templateUrl: "views/login.html",
controller: 'LoginController'
}
}
})
.state('home', {
url: '/home',
data: {pageTitle: 'Home.'},
views: {
'navbar': {
templateUrl: "views/navbar.html", //here dynamic template
controller: null
},
'body': {
templateUrl: "views/inicio.html",
controller: null
}
}
})
.state('perfil', {
url: '/perfil',
data: {pageTitle: 'Perfil de usuario.'},
views: {
'navbar': {
templateUrl: function (sessionProvider) {
var sessionFactory = sessionProvider.path();
return sessionFactory;
}, // this return a tring, but don't load anything
controller: null
},
'body': {
templateUrl: "views/usuario/perfil.html",
controller: 'UsuarioController'
}
}
});

我尝试使用服务来加载数据,但它不起作用,也尝试从 localStorageService 加载它,但不显示任何内容。

有单一的方法来加载它吗?

最佳答案

有一些功能可以实现此目的,例如 templateUrltemplateProvider。在此处查看所有详细信息:

Trying to Dynamically set a templateUrl in controller based on constant

例如这可能是使用templateProvider而不是'templateUrl'静态路径

的示例
templateProvider: function(CONFIG, $templateRequest) {
console.log('in templateUrl ' + CONFIG.codeCampType);

var templateName = 'index5templateB.html';

if (CONFIG.codeCampType === "svcc") {
templateName = 'index5templateA.html';
}

return $templateRequest(templateName);
},

关于javascript - 动态模板 Angular UI-Router,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37561005/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com