我没有做两个$http
请求,一个用于控制器数据,一个用于视图数据,为什么我不能只加载视图并在视图中嵌入控制器?它没有用。
我的路由器代码:
app.config(function($stateProvider, $urlRouterProvider){
$urlRouterProvider.otherwise("/admin");
$stateProvider.state('home', {
url: "",
templateProvider: function($http, $stateParams) {
return $http({
method: 'GET',
url: '/admin/home'
}).then(function successCallback(html) {
return html.data;
});
},
controller: function($scope) {
// $scope.activeSection.activeSection = "notNone";
}
})
//all other states go here
});
我的观点来自templateProvider
$http
承诺:
<div class="container" ng-controller="home">
{{orders[0]}}
</div>
<script>
app.controller('home', ['$scope', '$http', '$state', function($scope, $http, $state) {
$scope.orders = <?php echo json_encode($data[0]); ?>;
}]);
</script>
但我得到一个错误说&#34; home&#34;未定义。我知道我可以在路由上设置控制器并从那里做一个$http
请求,但是如果我能从视图中已经存在的控制器角度得到我需要的东西,这似乎很愚蠢。对?或者我错过了什么。这将使服务器上更容易没有多条路径(视图和控制器),基本上是一条路线。