所以我在第一个指令中有了这个模板
<tr ng-repeat="node in myprops.List">
<td>{{node.startDate | date: 'yyyy-MM-dd'}}</td>
<td>{{node.endDate | date: 'yyyy-MM-dd'}}</td>
<td>{{node.workInHours }}</td>
<td><label type="button" style="cursor:pointer" ng-click="setIndex($index)" data-toggle="modal" data-target="#{{myprops.id}}">edit</label></td>
<td><input type="checkbox" ng-click="onClick()" ng-model="node.selected" ></td>
</tr>
并且在该指令中我有控制器谁有函数setIndex(索引).. 所以当我点击按钮时,它打开那个模态
<form name="myForm">
<md-datepicker ng-model="sDate" md-placeholder="Enter date"></md-datepicker>
<md-datepicker ng-model="eDate" md-placeholder="Enter date"></md-datepicker>
<input type="number" ng-model="hours" required>
</form>
并且那个模态是在其他指令模板中..所以我需要当我点击按钮并打开模态,数组中的那个$ index将添加到模型上的ng-model ..sDate..eDate和小时... 简而言之,我需要访问另一个指令
中另一个控制器的一个指令模板中的ng模型答案 0 :(得分:1)
您应该将模型对象从主控制器传递给模态指令控制器,然后通过模态中的操作修改它,将此对象返回到上一个控制器并从模态分配新数据
E.g(ui.bootstrap):
function MainController($scope, $modal) {
$scope.model = {};
$scope.onClick = function () {
var modalInstance = $modal.open({
// params
controller: ModalController;
resolve: {data: function() {return $scope.model}}
});
modalInstance.result.then(function (data) {
$scope.model = data
})
}
}
function ModalController($scope, $modalInstance, data) {
// actions
$scope.data = data;
$scope.saveForm = function () {
$modalInstance.close($scope.data)
}
}