モーダルに[入れ子にされた] [配列]データを表示しようとしています。私は私のビューページで角度のURLからフェッチされたすべてのデータを見ることができます。しかし、同じ要素をクリックしてモーダルをポップアウトして同じ情報をモーダルに表示すると、情報の一部が表示されません。この場合、私は従業員または開発者を傾けません。私のモーダルテンプレートで使用されるような角度Angularjs:特定のデータをモーダルに渡す方法
**controller used is 'HomeController'
**/comments is where my json data is located with 'employees'
being a one-to-many relationship entity in my backend (which might be the issue in my head)
var vm = this;
vm.projects = [];
$http.get('/comments')
.then(function(result) {
console.log(result);
vm.projects = result.data;
});
data
で
URLフェッチコード<div ng-controller="HomeController as controller">
Iから
<div ng-repeat="data in controller.projects">
<ul ng-repeat="employee in data.employees">
{{employee.name}}
</ul>
</div>
controller
が来る(モーダル内のコードを動作していません)これも試しました。
<div ng-repeat="employee in Project.Employees" class="selected-item">
{{employee.name}}
</div>
しかし、機能しません!
以下に示すように、employees
は「通常の」ページに表示されます。私はモーダルポップアップする上記のカードをng-click="editProject(data)"
しかし、他のすべては(ここでは以下図示せず)上に示した
は、従業員以外ポップアップ表示されます。それはルーティングの問題かもしれませんか?
私はモーダルを飛び出すまで、基本的にすべてがテンプレートビューで完璧に動作します。これは「モーダルポッピング」コードです。
$scope.editProject = function(data) {
$scope.showSelected = true;
$scope.SelectedProject = data;
var fromDate = moment(data.start).format('DD/MM/YYYY LT');
var endDate = moment(data.end).format('DD/MM/YYYY LT');
$scope.Project = {
ProjectID : data.projectID,
Client : data.client,
Title : data.title,
Description: data.description,
Employees: data.employees,
StartAt : fromDate,
EndAt : endDate,
IsFullDay : false
}
$scope.ShowModal()
},
//This function is for show modal dialog
$scope.ShowModal = function(){
$scope.option = {
templateUrl: 'modalContent.html',
controller: 'modalController',
backdrop: 'static',
resolve: {
Project : function() {
return $scope.Project;
},
SelectedProject : $scope.SelectedProject
}
};
は、私がShowModal
resolve
に欠けている約束があるだろうか?
一方、クロムのdevtoolsでは、employees
は以下のように「選択」されているようです。
私はオブジェクトを開くときしかし、興味深いことに、それは配列が空であると言います。
私は、一般的には、角度やウェブ開発に新しいです。あなたが私のバックエンドやあなたが欠けていると思う他のコードを明らかにする必要があるかどうかを教えてください。私はちょうどそれが角の問題だと思っています。ご協力いただきありがとうございます。
angular.module('ui.bootstrap.demo').controller('ModalInstanceCtrl', function ($uibModalInstance, projects) {
var $ctrl = this;
$ctrl.projects = projects;
$ctrl.ok = function() {
$uibModalInstance.close();
};
$ctrl.cancel = function() {
$uibModalInstance.dismiss();
};
});
とあなたのopening関数でそれを解決する:あなたはあなたに依存性注入としてモーダルインスタンスコントローラプロジェクトを渡す必要が
配列は空ではありません。従業員ノードを拡張できますか? – Deep
あなたはangleUIブートストラップを使用していますか?あなたのモーダルにはhttps://angular-ui.github.io/bootstrap/?または、他の何か? – haxxxton
@Deepは上記のように拡張されました。 –