2016-06-14 14 views
1

私はサービスAngularjsサービスの戻り値

angular.module('myapp') 
.service('AnswerService', function() { 
    var answers = []; 
    this.addAnswers = function(questionId) { 
     answers.push(questionId); 
     console.log(answers); 
    } 
    return this; 
}) 

を持っており、コントローラに回答の値を取得し、HTMLでそれを表示する必要があります。

return thisまたはreturn answersを使用する必要がありますか?

+2

問題点は何ですか? – PSK

+0

は「返品する」か「回答を返す」のはずですか? –

+0

私はループのために私のコントローラにaddAnswers funcを呼び出し、配列に値を格納しています。私の問題は、私はコントローラの '回答'配列を取得する必要があります。 – Akshaya

答えて

0

外部にアクセスする場合は、サービスに設定する必要があります。

追加ライン

this.answersの=の答え。

angular.module('myapp') 
.service('AnswerService', function() { 

    var answers = []; 
    this.addAnswers = function(questionId) { 
     answers.push(questionId); 
     console.log(answers); 
    } 
    this.answers = answers; 
    return this; 
}) 
2

私はあなたがこのようにコードを変更する必要がありthis

+1

正確には、私にそれを打つ – Fergus

+0

コントローラでこれを呼び出す方法? – Akshaya

+1

「addAnswers」関数を呼び出すのと同じ方法です。あなたのコントローラにAnswerServiceを注入し、AnswerService.getAnswers();を実行します。 –

0
this.answers = answers; 

、同様に、別のgetter関数を追加します。

angular.module('myapp').service('AnswerService', function() { 
var answers = []; 
this.addAnswers = function(questionId) { 
    answers.push(questionId); 
    console.log(answers); 
    return answers; 
} }) 
0

を返します

angular.module('myapp') 
.service('AnswerService', function() { 
    var answers = []; 
    this.addAnswers = function(questionId) { 
     answers.push(questionId); 
     console.log(answers); 
    } 
    this.getAnswers = function() { 
     return answers; 
    } 
}); 
関連する問題