控制器——工厂:传递参数
Controller --- Factory: passing parameters
我的控制器中有这个函数:
$scope.goToPath = function ( path, pid ) {
$scope.pid = pid;
console.log("scope pid : " + $scope.pid);
$scope.edit = true;
$state.go(path);
};
然后我调用这个函数从我的工厂得到一个承诺:
$scope.getProjectById = function () {
projectFactory.getProject($scope.pid)
.success(function (data) {
if(data == null){
$scope.errorMessage = "Le projet avec l'id : " + pid + " n'existe pas";
}else {
$scope.project = data;
}
})
.error(function (data, status, headers, config) {
$scope.errorMessage = "Erreur : " + data.error + ' ' + status;
})
};
我的Factory是这样的:
factory.getProject = function (projectId) {
console.log('Project Id factory : '+projectId);
return $http.get('http://localhost:8080/gestionprojet/Project/' + projectId)
};
return factory;
但是这里的变量projectId是空的,现在我已经检查了console.log()
控制器中的pid有一个值但在出厂时它等于null
在我看来,我这样称呼它:
ng-init="getProjectById()"
任何帮助都会很感激。谢谢你
在这种情况下,当前作用域被销毁,新的作用域被创建。因此,分配给作用域的
pid
也被销毁了。
你可以这样做。
函数$scope.goToPath
中,
$scope.goToPath = function(path, pid ){
....
$state.go(path,{project_id:pid })
}
在视图着陆的目标控制器中,
通过注入$stateParams
来访问。
你可以在这里引用angular-ui routing
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- 使用Express捕获参数
- 参数变量出现ngTable指令问题
- AngularJS:我可以跳过函数参数回调吗
- 如何将参数传递到angularJs中的工厂
- 如何将控制器http调用转换为接受参数的服务/工厂模式
- 将角度工厂中的参数用于自定义标头
- 在工厂中使用参数
- 尝试从模板将参数发送到$resource工厂
- 当路由参数更改时,工厂中的角度火更改引用
- 从控制器向Angular工厂传递参数
- 由于某些原因,基于路由参数动态注入特定工厂会失败
- 将$rootScope参数传递给工厂中的命名函数
- 在angularjs中从控制器向工厂传递多个参数
- 控制器——工厂:传递参数
- 在AngularJS中从视图到控制器再到工厂传递参数
- Javascript对象工厂方法,将参数object作为参数传递
- 将参数传递给服务的工厂
- 无法将变量/ng-model绑定变量作为参数传递给$scope工厂函数
- 将参数从控制器传递到angularjs中的资源工厂,以便在数据库中进行搜索