UI-路由器(解决)无法将数据传递到控制器
UI-Router (resolve) cant pass data into controller
当我 运行 编写这样的代码时,我的控制器停止工作,它发生在通过解析传递的所有类型的数据中,来自 api 或任何其他方式..我只是无法将任何东西传递给我控制器
> $urlRouterProvider.otherwise('/movies')
> $stateProvider
> .state('movies', {
> url: '/movies',
> templateUrl: 'templates/movies.html',
> controller: 'indexCtrl',
> resolve: {
> resolveParam: function(){
> return 'sdsadasdasd'
> }
> }
> })
>
> }]);
>
>
> app.controller('indexCtrl', ['$scope', 'resolveParam', function($scope, resolveParam) {
> $scope.click = function() {
> alert();
>
>
>
> }
> }]);
只要我运行这样,就可以正常工作
app.controller('indexCtrl', ['$scope', function($scope) {
$scope.click = function() {
alert();
}
}]);
即使我的状态还是和上面一样..
您可能有打字错误或其他一些难以追踪的错误。
基于您的代码的 JSfiddle 工作正常。
JS
angular.module('app', ['ui.router'])
.config(['$urlRouterProvider', '$stateProvider', function($urlRouterProvider, $stateProvider) {
$urlRouterProvider.otherwise('/movies')
$stateProvider
.state('movies', {
url: '/movies',
template: '<div>{{resolveParam}}</div>',
controller: 'indexCtrl',
resolve: {
resolveParam: function() {
return 'sdsadasdasd';
}
}
})
}])
.controller('indexCtrl', ['$scope', 'resolveParam', function indexCtrl($scope, resolveParam) {
$scope.resolveParam = resolveParam;
}]);
HTML
<html>
<head>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.9/angular.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.3.2/angular-ui-router.js"></script>
</head>
<body ng-app="app" class="ng-scope">
<ui-view></ui-view>
</body>
</html>
输出
当我 运行 编写这样的代码时,我的控制器停止工作,它发生在通过解析传递的所有类型的数据中,来自 api 或任何其他方式..我只是无法将任何东西传递给我控制器
> $urlRouterProvider.otherwise('/movies')
> $stateProvider
> .state('movies', {
> url: '/movies',
> templateUrl: 'templates/movies.html',
> controller: 'indexCtrl',
> resolve: {
> resolveParam: function(){
> return 'sdsadasdasd'
> }
> }
> })
>
> }]);
>
>
> app.controller('indexCtrl', ['$scope', 'resolveParam', function($scope, resolveParam) {
> $scope.click = function() {
> alert();
>
>
>
> }
> }]);
只要我运行这样,就可以正常工作
app.controller('indexCtrl', ['$scope', function($scope) {
$scope.click = function() {
alert();
}
}]);
即使我的状态还是和上面一样..
您可能有打字错误或其他一些难以追踪的错误。 基于您的代码的 JSfiddle 工作正常。
JS
angular.module('app', ['ui.router'])
.config(['$urlRouterProvider', '$stateProvider', function($urlRouterProvider, $stateProvider) {
$urlRouterProvider.otherwise('/movies')
$stateProvider
.state('movies', {
url: '/movies',
template: '<div>{{resolveParam}}</div>',
controller: 'indexCtrl',
resolve: {
resolveParam: function() {
return 'sdsadasdasd';
}
}
})
}])
.controller('indexCtrl', ['$scope', 'resolveParam', function indexCtrl($scope, resolveParam) {
$scope.resolveParam = resolveParam;
}]);
HTML
<html>
<head>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.9/angular.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.3.2/angular-ui-router.js"></script>
</head>
<body ng-app="app" class="ng-scope">
<ui-view></ui-view>
</body>
</html>
输出