标签:angularjs angular-ui-router javascript
我是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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。