【发布时间】:2019-06-16 02:57:51
【问题描述】:
我在使用 Angular.ja ui-router 动态设置 a 标记值时遇到了一个问题。我在下面提供我的代码。
<a ui-sref="{{mastUrl}}" ng-show="isMaster">Master Info</a>
$scope.mastUrl='app.ownerinfo.owner.vew';
var url='../service/admin/login/checkmenu.php';
var method='GET';
var data='';
DataService.connectToServerSideScript(method,url,data)
.then(function(response) {
console.log('menu',response);
if (response.length > 0) {
angular.forEach(response,function(obj){
if (obj.user_type==2) {
$scope.isUser=false;
if (obj.isMast==0) {
$scope.isMaster=false;
}else{
$scope.isMaster=true;
if (obj.mastUrl !='') {
$scope.mastUrl=obj.mastUrl;
}
}
}
})
}
},function(error) {
})
在这里,$scope.mastUrl 的默认值为 app.ownerinfo.owner.vew,但在服务内部我需要动态设置它。根据我当前的示例,服务成功响应中的值为app.ownerinfo.owner.new。但是a标签生成的输出HTML如下。
<a ui-sref="app.ownerinfo.owner.new" ng-show="isMaster"
href="#!/ownerinfo/owner/view">Master Info</a>
我的路由代码如下。
.state('app.ownerinfo',{
url:'/ownerinfo',
templateUrl:'view/ownerinfo.html',
controller:'ownerinfoController'
})
.state('app.ownerinfo.owner',{
url:'/owner',
templateUrl:'view/owner.html',
controller:'ownerController'
})
.state('app.ownerinfo.owner.vew',{
url:'/view',
templateUrl:'view/ownerview.html',
controller:'ownerviewController'
})
.state('app.ownerinfo.owner.new',{
url:'/new',
templateUrl:'view/newowner.html',
controller:'newownerController'
})
这里ui-serf 值按预期设置,但href 值与默认值相同。我需要将两个值设置为相同。
【问题讨论】:
-
你在哪里设置href值?
-
我更新了我的代码。你可以在那里查看。
标签: angularjs angular-ui-router href