在Angular应用程序的主页上,我有一个视图和一个嵌套视图(请参阅下面的ui-router代码)。对于视图,我对我的数据库进行了ng-repeat
调用,并使用 $urlRouterProvider.otherwise('/open');
$urlRouterProvider.when('/open', '/open/mainbook');
$stateProvider
.state('open', {
url: '/open',
templateUrl: 'ang/views/open.html',
})
.state('open.mainbook', {
url: '/{featId}',
templateUrl: 'ang/views/open.mainBook.html',
})`
显示结果。同时我将这些结果推送到服务中。在嵌套视图中,我从服务中调用一个结果并显示它(我使用两个控制器)。我的问题是我需要在加载时发生所有这些。是"解决"在ui-router中最好的方法来解决这个问题?
1. Replaces values from the database to bookmarks on a MS Word document.
2. Manipulate the Word object even after the end user has modify it.
3. Save the Word document on a network share.
答案 0 :(得分:0)
解决方案是不使用该服务,将两个控制器合并为一个,并使用$http
在初始$state.go
调用中立即调用嵌套视图(我还给出了嵌套查看同一通话中的数据),即
$scope.featCall = function () {
$http({
method: 'GET',
cache: 'true',
url: '/featList'
}).then(function (result) {
$scope.single = [];
$scope.single = result.data[0];
$state.go('open.mainbook', {
featId: $scope.single.id
});
bookData.clearProduct();
angular.forEach(result.data, function (eachOne) {
$scope.featList.push(eachOne);
bookData.addProduct(eachOne);
})
})
};
请注意,我仍然使用服务(bookData
)来更改嵌套视图的后续更改,而不是用于初始的数据填充。