Angularjs $mdDialog不';无法从json读取数据
我试图将数据从json绑定到mdDialog,但它不起作用。希望有人能看到我错过了什么。由于在多个视图中访问数据,因此设置很复杂。还有一些其他的依赖性在起作用。但这里是相关的代码 服务Angularjs $mdDialog不';无法从json读取数据,angularjs,Angularjs,我试图将数据从json绑定到mdDialog,但它不起作用。希望有人能看到我错过了什么。由于在多个视图中访问数据,因此设置很复杂。还有一些其他的依赖性在起作用。但这里是相关的代码 服务 (function () { 'use strict'; angular .module('app.scala-media') .factory('MediaService', MediaService); /** @ngInject */ fu
(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(用于对话框)
您刚刚删除了{{vm.media.name}
我不认为还有什么能帮助你的。我没有得到任何错误。我只是没有任何数据通过控制器打开同一个控制器的对话框-是wtf吗?将服务传递给modal也很奇怪——只需注入它。无聊地说lol。你看到的是十几次尝试智能方式的结果,直到我开始尝试愚蠢的方式。我只是想让它工作。不管你是不是哑巴。当然最好不要。您能帮我一下吗?如何调用
deleteMediaDialog
函数?在多个视图中显示该按钮。通过ng clickI我知道这听起来很愚蠢,但是当您调用deleteMediaDialog
时是否正在传递数据?
<md-dialog-content ms-scroll>
<p>
You just deleted {{vm.media.name}}
</p>
</md-dialog-content>