2017-02-13 11 views
1

私はJSONファイルからいくつかの質問を取り上げるプロジェクトに取り組んでいます。ビューでスコープのプロパティ名として文字列を使用する角度

質問の形式はさまざまですが、問題はスライダの質問タイプによって発生します。

私はHTTPリクエストを実行してJSONデータを取得し、それを 'questions'というスコープに割り当てます。私はビューの中で質問を繰り返し、質問タイプが「スライダー」(この場合)の場合はHTMLを出力します。

問題は、スライダがオプションでプラグインとスコープ変数を使用することです。私は動的スコープを作成しています質問を制御することはできませんので:

angular.forEach($scope.questions, function(question) { 
    $scope[question.definedScopeName] = { 
     // set up the slider config. 
    }; 
}); 

JSONの質問はスコープのために、この例の「sliderOne」そう使用するように定義された名前が含まれています。私の見解のI出力で

そう... ngのリピート内のスライダー:

<rzslider 
    class="question__slider" 
    rz-slider-model="question.definedScopeName.value" 
    rz-slider-options="question.definedScopeName.options"> 
</rzslider> 

ここでの問題は、それは私がそれを質問スコープからのデータを使用して、したがって、午前正しくモデルの範囲を設定することです文字列です。

とにかく私は実際にモデルを$ scopeという名前のスコープに設定したいと言うことができます。「定義されたスコープ名」。

ありがとうございます!角度表現で

<!-- 
<rzslider 
    class="question__slider" 
    rz-slider-model="question.definedScopeName.value" 
    rz-slider-options="question.definedScopeName.options"> 
</rzslider> 
--> 

<!-- Use bracket notation --> 
<rzslider 
    class="question__slider" 
    rz-slider-model="this[question.definedScopeName].value" 
    rz-slider-options="this[question.definedScopeName].options"> 
</rzslider> 
this

キーワードと

+0

あなたの質問は文字列だと思われますのでご質問ください<>できません –

+0

@VinodLouis questionは "definedScopeName"という文字列を持つオブジェクトです。モデルを同じ名前のスコープ変数に設定したい – Lovelock

+1

[mcve] – charlietfl

答えて

2

使用ブラケット表記、thisキーワードは、角表現の範囲に結合します。

+0

を入力してください。これはできませんでしたが、どうもありがとうございました。 – Lovelock

関連する問題