Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs $mdDialog不';无法从json读取数据_Angularjs - Fatal编程技术网

Angularjs $mdDialog不';无法从json读取数据

Angularjs $mdDialog不';无法从json读取数据,angularjs,Angularjs,我试图将数据从json绑定到mdDialog,但它不起作用。希望有人能看到我错过了什么。由于在多个视图中访问数据,因此设置很复杂。还有一些其他的依赖性在起作用。但这里是相关的代码 服务 (function () { 'use strict'; angular .module('app.scala-media') .factory('MediaService', MediaService); /** @ngInject */ fu

我试图将数据从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(用于对话框)



您刚刚删除了{{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>