0
我有媒體列表,當我點擊一個項目時,我想打開ngDialog並將模型傳遞給ngDialog,我已閱讀文檔和博客,但所有人都使用$ scope來傳遞模型或數據, (vm)不是控制器。如何使用虛擬機將數據傳遞到ngDialog控制器和我如何可以調用VM父虛擬機($父。$範圍)從ngDiloag控制器(控制器)的情況下ngDialog作爲場景中的控制器範圍
這裏是我的代碼(簡體版)
(function() {
'use strict';
angular
.module('app.media')
.controller('mediaController', Controller);
Controller.$inject = ['$filter', 'ngTableParams', '$rootScope', '$http', '$log', '$uibModal', 'ngDialog', 'toaster', 'mediaDataService'];
function Controller($filter, ngTableParams, $rootScope, $http, $log, $uibModal, ngDialog, toaster, mediaDataService) {
var vm = this;
vm.media = {};
activate();
function activate() {
vm.updateMedia = function() {
mediaDataService.updateMedia(vm.media).then(function (res) {
toaster.pop('success', 'ویرایش فایل با موفقیت انجام شد', 'ویرایش فایل')
})
}
vm.openUpdateDialog = function (media) {
//i want to use vm.media in opening dialog
vm.media = media;
ngDialog.open({
template: 'media/edit'
, className: 'ngdialog-theme-default'
, controller: 'updateMediaController',
//i had used data to pass data to new controller and used ngDialogData in my opening template to access media ,
//the probelm with this case is i cant access parrent controller(the controller that is openin dialog) from DngDialog
//opened Controller(because i want to run parrent controller updateMedia function when user click update in opened dialog)
//**commented out - not usefull **//
//data:media
})
}
}
}
})();
有什麼建議嗎? 謝謝
我不在我的parrent控制器中使用$ scope。 – Arash
做你的測試嗎? –
試試這個controllerAs:'vm或其他' –