我正在尝试将数据从json绑定到mdDialog,但它无法正常工作。希望有人能看到我在这里失踪的东西。设置很复杂,因为在多个视图中访问数据。并且还有一些其他依赖项。但这是相关的代码
服务
(function ()
{
'use strict';
angular
.module('app.scala-media')
.factory('MediaService', MediaService);
/** @ngInject */
function MediaService($q, $mdToast, msApi) {
var medias = [];
var service = {
getMedias : getMedias
};
return service;
function getMedias() {
...blah blah blah
}
}
})();
控制器
(function() {
'use strict';
angular
.module('app.scala-media')
.controller('MediasController', MediasController);
/** @ngInject */
function MediasController(msApi, $mdDialog, $state, Medias, $scope, $document) {
var vm = this;
// Data
vm.medias = Medias;
//Methods
vm.deleteMediaDialog = deleteMediaDialog;
function deleteMediaDialog(Medias, e) {
showMediaDataDialog(Medias, e);
}
function showMediaDataDialog(Medias, e) {
$mdDialog.show({
controller : 'MediasController',
controllerAs : 'vm',
templateUrl : 'app/main/apps/scala-media/dialogs/delete/delete-dialog.html',
parent : angular.element($document.body),
targetEvent : e,
focusOnOpen : false,
clickOutsideToClose: true,
locals : {
Medias : Medias
}
});
}
}
})();
最后是模块
(function ()
{
'use strict';
angular
.module('app.scala-media')
.config(config);
/** @ngInject */
function config($stateProvider, $translatePartialLoaderProvider, msApiProvider, msNavigationServiceProvider)
{
// State
$stateProvider
.state('app.scala-media.medias', {
url : '/medias',
views : {
'content@app': {
templateUrl: 'app/main/apps/scala-media/views/medias/medias.html',
controller : 'MediasController as vm'
}
},
resolve : {
Medias: function (MediaService)
{
return MediaService.getMedias();
}
},
bodyClass: 'media'
})
// Api
msApiProvider.register('scala-media.medias', ['app/data/scala-media/medias.json']);
}
})();
在其工作的任何其他页面中,我正在访问此类媒体的名称{{vm.media.name}}
...简单。
这是我的HTML(对话框)
<md-dialog-content ms-scroll>
<p>
You just deleted {{vm.media.name}}
</p>
</md-dialog-content>
我认为还有其他任何可以帮到你的东西。我没有收到任何错误。我只是没有得到任何数据通过