app.js:
$stateProvider.state('datasource', {
url: '/datasource',
templateUrl: 'views/datasource.html',
controller: 'datasourceController'
});
$stateProvider.state('datasourceList', {
url: '/datasource/:datasourceId',
templateUrl: 'views/datasource.list.html',
controller: 'datasourceController'
});
Затем у меня активирована функция onClick, определенная в (datasourceController)
$scope.submitSelected = function() {
if (angular.isDefined($scope.selectedSource)) {
$scope.datasource = dataSourcesService.find($scope.selectedSource.id);
$state.go('datasourceList', {datasourceId : datasource});
}
}
Как я уже говорил, в моей datasource.html
зрения есть элемент щелчок, который вызывает submitSelected()
функция
Я могу получить данные успешно из моей службы на основе ID, когда вызываю его в функции.
Проблема в том, что я не могу получить доступ к результатам (области) этого в представлении datasource.list.html
после изменения состояния.
Добавить 'param' в конфигурацию состояния
$stateProvider.state('datasource', {
url: '/datasource',
templateUrl: 'views/datasource.html',
controller: 'datasourceController'
});
$stateProvider.state('datasourceList', {
url: '/datasource/:datasourceId',
templateUrl: 'views/datasource.list.html',
params: ['index', 'anotherKey'],
controller: 'datasourceController'
});
И получить значения, используя $ stateParams в другом контроллере
app.controller('datasourceController', function($scope, $stateParams) {
var index = $stateParams.index;
var anotherKey = $stateParams.anotherKey;
});