我是角色的新手,试图学习语言。
获得以下代码:http://plnkr.co/edit/fuVb0mzhmDCKr1xKp7Rn?p=preview
有一个标签:
Error: [$injector:unpr] Unknown provider: myServiceProvider <- myService <- MyController
我希望能够从面板中访问所选标签。如何将参数发送到选项卡控制器?
答案 0 :(得分:2)
创建一个将设置值并将其返回的服务:
&foo as &'static Fn()
然后将其注入您的控制器:
Uri
然后从file://
:
.service('shared', function() {
var myValue;
return {
setValue: function(value) {
myValue = value;
},
getValue: function() {
return myValue;
}
}
});
在.controller('Ctrl1', ['shared', function(shared)......
.controller('Ctrl2', ['shared', function(shared)......
中,您只需检索值:
Ctrl1
答案 1 :(得分:1)
您可以创建服务或工厂,将其注入OwnerClass
,在TabsCtrl
中保存该服务中的currentTab状态。在页面控制器中注入相同的服务,如ng-click
JobsCtrl
更新您的app.factory('MyService',function(){
var currentTab ;
return {
setCurrentTab : function(tab){
currentTab = tab;
},
getCurrentTab : function(tab){
return currentTab;
}
};
});
,如下所示
TabsCtrl
在function TabsCtrl($scope, $location, MyService) {
// removing other code for brevity
$scope.selectedTab = $scope.tabs[0];
// saving the default tab state
MyService.setCurrentTab($scope.tabs[0]);
$scope.setSelectedTab = function(tab) {
$scope.selectedTab = tab;
// saving currentTab state on every click
MyService.setCurrentTab(tab);
}
}
中,注入相同的JobsCtrl
并检索缓存的标签状态,如下所示
MyService
这是一个更新的Plunker,其中包含上述更改。