使用 UI-Route 将解析结果传递给控制器
Passing result of resolve into controller with UI-Route
我正在尝试学习如何将解析与 UI-Router 一起使用,但我认为我缺少一条信息,因为我无法弄清楚如何使它们工作。
我有这样的状态设置:
app.config(['$stateProvider', function($stateProvider) {
$stateProvider
.state('testState', {
url: '/testRoute',
controller: 'TestContoller',
views: {
"body": {
templateUrl: "testHtml.html"
}
},
resolve: {
test: function(){
return {value: "test"};
}
}
})
}]);
然后我有一个控制器:
app.controller("TestController", ["$scope", "test", function($scope, test) {
console.log(test);
}]);
然后我有一个 testHtml.html 目前没有任何内容的部分文件:
<div ng-controller="TestController">
Test content
</div>
然后加载到 index.html 中的 ui 视图中:
<div ui-view="body" autoscroll></div>
我已经摆弄了一个小时左右,谷歌搜索,但我无法 uite 弄清楚我应该做什么才能下定决心做某事并通过结果进入控制器。
当您在 state
级别选项中提及 views
属性时,它会忽略该状态的 templateUrl
和 controller
。它只从一个视图中获取控制器 & template/templateUrl
。
代码
views: {
"body": {
templateUrl: "testHtml.html",
controller: 'TestContoller' //moved it to named-view level
}
},
我正在尝试学习如何将解析与 UI-Router 一起使用,但我认为我缺少一条信息,因为我无法弄清楚如何使它们工作。
我有这样的状态设置:
app.config(['$stateProvider', function($stateProvider) {
$stateProvider
.state('testState', {
url: '/testRoute',
controller: 'TestContoller',
views: {
"body": {
templateUrl: "testHtml.html"
}
},
resolve: {
test: function(){
return {value: "test"};
}
}
})
}]);
然后我有一个控制器:
app.controller("TestController", ["$scope", "test", function($scope, test) {
console.log(test);
}]);
然后我有一个 testHtml.html 目前没有任何内容的部分文件:
<div ng-controller="TestController">
Test content
</div>
然后加载到 index.html 中的 ui 视图中:
<div ui-view="body" autoscroll></div>
我已经摆弄了一个小时左右,谷歌搜索,但我无法 uite 弄清楚我应该做什么才能下定决心做某事并通过结果进入控制器。
当您在 state
级别选项中提及 views
属性时,它会忽略该状态的 templateUrl
和 controller
。它只从一个视图中获取控制器 & template/templateUrl
。
代码
views: {
"body": {
templateUrl: "testHtml.html",
controller: 'TestContoller' //moved it to named-view level
}
},