我是棱角分明的新手,我被告知它的伟大之处,但它也是令人烦恼的高学习曲线。我现在一直砸着我的头撞在墙上,好好用了3个小时的半个小时试图解决问题。
我也找不到任何文件。我要么不知道要搜索什么,要么就不再可能了。
function modalCtrl($scope, $modal) {
$scope.openManageMainCd = function() {
var modalInstance = $modal.open({
templateUrl: 'views/modalManageMainCd.html',
controller: ModalInstanceCtrl
});
};
$scope.openLadders = function(e) {
alert(e);
var modalInstance = $modal.open({
templateUrl: 'views/ladderModal.html',
controller: LadderInstanceCtrl
});
};
};
function LadderInstanceCtrl($scope) {
$scope.ladder = GetLadderData(_facilityData.holdings);
};
function GetLadderData(holdings){
var holdingData = [];
angular.forEach(holdings, function(value, key) {
if (value.type == 'Ladder') {
angular.forEach(value.cds, function(value, key) {
var obj = { type: value.type, name: value.name, amount: value.amount, rate: value.rate, maturityDate: value.maturityDate }
holdingData.push(obj);
});
}
});
return holdingData;
};
这个混乱的混乱是我用我的时间创造的。单击我桌面上的一行时,它会调用openLadders
函数。现在,我已经尝试过把它发送到阳光下的所有东西,到目前为止还没有任何帮助。我想基本上发送它。我需要一行ID,我只想要那个ID。我试过了......
ng-click="openLadders(row)
== function表示行未定义
ng-click="openLadders($event)
==我不知道我在看什么
ng-click="openLadders($index)
==不帮我
还有更多。 Angular的网站并没有详细说明我需要知道的内容,所以我无法在那里找到帮助。我在网站上浏览了两篇关于Angular的教程,这些教程让我相信它是可能的。
有人可以在这里提供任何帮助吗?我迷路了。
该表的构建如下:
<tr ng-repeat="holding in holdings" ng-if="holding.type == 'Ladder'" class="" ng-controller="modalCtrl" ng-click="openLadders()">
<td><i class="icon-plus" ></i> {{holding.type}}</td>
<td contenteditable="true">{{holding.name}}</td>
<td>{{holding.maturityDate}}</td>
<td>{{holding.amount | currency:"$"}}</td>
<td>{{holding.rate | percentage:2}}</td>
</tr>
我似乎会有一个明显的跟进问题,一旦我从函数openLadders
获得该信息到实际的LadderInstanceCtrl()
,它就会发送该信息。因此,非常感谢对这两个主题的帮助。
非常感谢你。
答案 0 :(得分:2)
你说对,Angular有一个学习曲线,但是一旦了解了范围界定的方法,就不会那么陡峭。
你非常接近你想要的,只需要将你需要的确切字段作为参数传递给函数,这可能与纯javascript有点不同。
您所描述的内容已解决(请注意ng-click
指令):
<tr ng-repeat="holding in holdings" ng-if="holding.type == 'Ladder'" class="" ng-controller="modalCtrl" ng-click="openLadders(holding.id)">
<td><i class="icon-plus" ></i> {{holding.type}}</td>
<td contenteditable="true">{{holding.name}}</td>
<td>{{holding.maturityDate}}</td>
<td>{{holding.amount | currency:"$"}}</td>
<td>{{holding.rate | percentage:2}}</td>
</tr>
在类似情况下,使用holding
传递整个ng-click="openLadders(holding)"
对象可能同样方便。尝试这个也可能是有益的,并看到行为。
希望这有帮助。