Angularjs 从控制器中标识当前ui视图
有人知道控制器在哪个ui视图中吗 我遇到的问题是一个两元素(对象)数组被发送到一个状态。所述数组的每个元素都应该在我的Angularjs 从控制器中标识当前ui视图,angularjs,angular-ui-router,Angularjs,Angular Ui Router,有人知道控制器在哪个ui视图中吗 我遇到的问题是一个两元素(对象)数组被发送到一个状态。所述数组的每个元素都应该在我的ui视图中呈现。元素的渲染顺序取决于对象中提供的键之一。一旦获得了键的值,我就可以在视图对应的位置渲染视图,但是在不知道控制器正在其中操作的视图的名称的情况下,我无法确定顺序 这是我将得到的一个示例响应 "resources": [ { "video":"http://url.to/some/video+on+the+server",
ui视图中呈现。元素的渲染顺序取决于对象中提供的键之一。一旦获得了键的值,我就可以在视图对应的位置渲染视图,但是在不知道控制器正在其中操作的视图的名称的情况下,我无法确定顺序
这是我将得到的一个示例响应
"resources": [
{
"video":"http://url.to/some/video+on+the+server",
"position": 1
}, {
"image":"http://placehold.it/600x450&text=img2",
"position": 0
}
]
这是我的模板的外观:
<div class="parent"><div class="col-md-6" ui-view="left"></div></div>
<div class="parent"><div class="col-md-6" ui-view="righ"></div></div>
您的状态应该是
代码
.state('media', {
url: '/media',
views: {
'': {
templateUrl: '../js/media/baseTemplate.html',
controller: 'ParentController as parentCtrl'
},
'left@media': {
templateUrl: '../js/media/media.tmpl.html',
controller: 'MediaController as mediaCtrl'
},
'right@media': {
templateUrl: '../js/media/media.tmpl.html',
controller: 'MediaController as mediaCtrl'
}
}
})
我最终通过创建一个服务来标识每个控制器的实例,该服务基本上充当一个全局计数器。在控制器实例化时,它调用服务并返回其当前索引。服务在每次调用时递增一个私有变量。这就是服务最终的样子:
(function() {
angular.module('screenIdentifier', [])
.factory('screenIdentifier', screenIdentifier);
screenIdentifier.$inject = [];
function screenIdentifier() {
var _currentIndex = 0;
return {
getCurrentIndex: getCurrentIndex,
resetIndex: resetIndex,
assignPosition: assignPosition
};
function assignPosition() {
return _currentIndex += 1;
}
}
})();
通过了解每个控制器的索引,我可以正确识别视图的索引。我读了你很多次的问题,但没有得到任何线索,实际上是你想要的..但是通过查看代码发现状态有问题..所以我添加了答案..你能在问题中详细说明你到底想要什么..你能详细说明问题是什么吗?如果对你有帮助,请进行投票。
(function() {
angular.module('screenIdentifier', [])
.factory('screenIdentifier', screenIdentifier);
screenIdentifier.$inject = [];
function screenIdentifier() {
var _currentIndex = 0;
return {
getCurrentIndex: getCurrentIndex,
resetIndex: resetIndex,
assignPosition: assignPosition
};
function assignPosition() {
return _currentIndex += 1;
}
}
})();