我已经通过ng-repeat在div中显示了一些项目。每个div都包含一个与项目id的链接。
基本上,我希望在ng-click上绑定我的项目id,以便更新工厂。这将允许我与仅加载项目详细信息数据的另一个控制器共享单击的项目的id。
这是我的项目视图:
<div ng-repeat="detail in projects.details">
<a ng-href="#!/project/project-details" ng-click="setId(detail.project_id)"><span></span></a>
</div>
这是我的工厂:
app.factory('getGoodIdProjectDetails', function (){
var savedId = 1; //Default à 1
return {
getId : function () {
return savedId;
},
setId:function(idGet){
savedId = idGet;
return savedId;
}
}
});
下面是我的控制器:
function ProjectCtrl($scope, $http, $timeout, getGoodIdProjectDetails) {
$scope.setId = function (idGet) {
$scope.idProjectDetails = getGoodIdProjectDetails.setId(idGet);
};
}
function ProjectDetailsCtrl($scope, $http, $timeout, getGoodIdProjectDetails) {
$scope.idProjectDetails = getGoodIdProjectDetails.getId();
}
在我的视图中,控制台显示了一个错误,比如我无法以这种方式绑定ng-click,但是当我检查视图时,它给我排序了一些好东西,比如ng-click="setId(8)"
我希望工厂在单击时更新为good id。然后,我想在projectDetailsCtrl
中访问此id,以便加载项目。
|| EDIT ||:我修改了ng-click,运行正常,一切正常。Thx全部
发布于 2014-10-07 17:26:59
试试这个:
<div ng-repeat="detail in projects.details">
<a ng-href="#!/project/project-details" ng-click="setId(detail.project_id)"><span>Voir le projet ></span></a>
</div>
不需要使用绑定表达式{{}}将值传递给函数
https://stackoverflow.com/questions/26241669
复制