javascript-用相同的路线显示AngularJs动态模板
作者:互联网
我是Angular Js的新手.最近,我正在使用route和templateUrl.这很简单.但是现在,我想做一些可能的事情.
我想显示具有相同路由的不同视图或模板,但要取决于从服务器获取的数据的属性.如果状态为A,则显示编辑模式;如果状态为B,则显示只读模式.除状态外,数据值相同.我正在模板中执行ng-if并来回切换.可以通过这种方式完成,但是出于可重用性的目的,我想为每个模板创建一个单独的模板,并根据这些属性在路由中调用该模板.
让我知道是否可以做到.谢谢!
解决方法:
有a working example,这接近此Q&一个:Trying to Dynamically set a templateUrl in controller based on constant
如果我对您的理解正确,则方法可能是:
>使用$stateParams切换读/编辑
> templateProvider选择模板
> $template请求通过$http $tempalteCache从有角度的本机包装中获利
状态def非常简单:
$stateProvider
.state('myState', {
url: '/myState/:operation',
templateProvider: ['$stateParams', '$templateRequest',
function($stateParams, $templateRequest) {
var templateName = 'read.html';
if ($stateParams.operation === "edit") {
templateName = 'edit.html';
}
return $templateRequest(templateName);
}],
controller: function ($state) {
}
});
并链接到该状态:
<a href="#/myState/read">
<a href="#/myState/edit">
检查action here中的示例
标签:angularjs,angular-ui-router,javascript 来源: https://codeday.me/bug/20191120/2044601.html