我正在尝试从孩子访问父状态。我尝试了这个,但它不起作用。
angular.module('myApp').controller('compareCtrl', ['$scope',
function($scope) {
$scope.test=$scope.$parent.services;
app.coffee
angular
.module('myApp', ['ngAnimate', 'ngCookies', 'ngResource'
, 'ui.router', 'ngSanitize', 'ngTouch'])
.config ($stateProvider) ->
$stateProvider.state('home',
url: "/"
templateUrl: "home.html"
).state('services',
url: "/services"
templateUrl: "services/list.html"
).state('services.detail',
url: "/detail/"
templateUrl: "detail.html"
).state('services.compare',
url: "/compare/"
templateUrl: "compare.html"
)
答案 0 :(得分:1)
UI-Router支持州家庭之间的数据(模型)共享。详细解释可以在这里找到
How do I share $scope data between states in angularjs ui-router?
我们可以看到,我们需要引入一个模型,一个集群,一个参考对象。
// controller of the parent state 'services'
.controller('ServicesCtrl', ['$scope',
function($scope) {
$scope.Model = { prop1 : value1, ...};
}])
因为现在每个子状态将原型继承对$ scope.Model的引用...我们可以在任何子状态控制器中访问它
.controller('ServiceChildCtrl', ['$scope',
function($scope) {
$scope.Model.prop1 = differentValue;
}])
中查看它