Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.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
Javascript 在工厂设置数据并将其绑定到控制器_Javascript_Angularjs - Fatal编程技术网

Javascript 在工厂设置数据并将其绑定到控制器

Javascript 在工厂设置数据并将其绑定到控制器,javascript,angularjs,Javascript,Angularjs,目标:在控制器(errorCtrl)中显示错误,可以在多个其他控制器(即ModuleCtrl)中设置该错误 我通过设置一个服务(ErrorConsole)来尝试这一点 从服务中检索数据很容易 js: html: })) 第一个问题:这是正确的方法吗? 第二个问题:为什么这不起作用?注入依赖项的工厂仍然是控制器范围的主题吗?调用服务配方就像调用构造函数一样,因此执行返回没有意义。服务应该写为 logViewApp.service('ErrorConsole', function () {

目标:在控制器(errorCtrl)中显示错误,可以在多个其他控制器(即ModuleCtrl)中设置该错误

我通过设置一个服务(ErrorConsole)来尝试这一点

从服务中检索数据很容易

js:

html:

}))

第一个问题:这是正确的方法吗?
第二个问题:为什么这不起作用?注入依赖项的工厂仍然是控制器范围的主题吗?

调用
服务
配方就像调用构造函数一样,因此执行返回没有意义。服务应该写为

logViewApp.service('ErrorConsole', function () {
    this.errorMsg = 'no error';
    this.setError: function(data){
            this.errorMsg = data;
        }
    }
});

这是正确的。工厂使用返回语句,服务使用“this”。谢谢你的提示。但这既不是我问题的答案,也不是我问题的解决方案。
logViewApp.controller('errorConsoleCtrl', function ($scope, ErrorConsole) {
    $scope.error = ErrorConsole.errorMsg;
});
<nav class="navbar navbar-default navbar-fixed-bottom" role="navigation" ng-controller="errorConsoleCtrl">
        <div class="container-fluid text-danger">
            ERROR:{{msg}}<br>
            <span >Query:{{query}}</span><br>
            test:{{testdata}}

        </div>
    </nav>
logViewApp.controller('modulCtrl', function( $scope, $http, $routeParams, ErrorConsole ){
    $scope.moduleName = $routeParams.modulId;

    var postData = {
        task: 'loadLogsByModul',
        modul: moduleName,
        limit: 100
    }

    $http.post('data/log.php', postData).success(function (ret) {
        if (!ret.error) {
              // ...do stuff
        }
        else {
            ErrorConsole.setError('fatal error');
            console.log( ErrorConsole );
        }
    });
logViewApp.service('ErrorConsole', function () {
    this.errorMsg = 'no error';
    this.setError: function(data){
            this.errorMsg = data;
        }
    }
});