我正在做一个角度项目,我通过调用该函数来加载新视图。这件事情很好。现在我的要求是我希望一些数据从同一个函数转移到新视图。使用相同的控制器。我在这里展示了演示代码。
$scope.passID = function(id){
console.log(id);
$state.go("view", {id: $scope.id });
}

答案 0 :(得分:0)
如果您使用的是同一个控制器,则可以在两个视图中访问$scope
个变量。但是,如果您有2个controllers
的2个观看次数,则可以在$scope
到服务和工厂之间共享controllers
变量(数据) 。但是,$scope
变量是controller
本身的本地变量,因此将数据设置到服务或工厂以了解该特定变量。我更喜欢使用工厂,简单而平滑的黄油。如果您在单独的文件中使用工厂服务,则需要将文件包含在index.html
中。
app.controller('Ctrl1', function($scope, myService, $state) {
$scope.variable1 = "One";
myService.set($scope.variable1);
$state.go('app.thepagewhereyouwanttoshare'); //go to the page where you want to share that variable.
});
app.controller('Ctrl2', function($scope, myService) {
console.log("shared variable " + myService.get());
});
.factory('myService', function() {
function set(data) {
products = data;
}
function get() {
return products;
}
return {
set: set,
get: get
}
})