我想知道是否可以將視圖添加到視圖中,而不是替換前一個。AngularJS:添加部分而不是替換當前視圖
的用例是如下:
- 我建立一個問卷
- 在開始問卷只有1個問題是可見的/在DOM
- 問題1使然回答什麼問題2應該是
- 在回答問題1時,問題2被附加到問題1下的DOM後面
- 如果問題1被更改,所有其他問題都會從dom中重置/刪除,並且新的una nswered問題2出現(下1)
也許用一個局部問題是不是要走的路,在這種情況下,請讓我知道的最佳方法是什麼(香草/無角JS?)
我想知道是否可以將視圖添加到視圖中,而不是替換前一個。AngularJS:添加部分而不是替換當前視圖
的用例是如下:
也許用一個局部問題是不是要走的路,在這種情況下,請讓我知道的最佳方法是什麼(香草/無角JS?)
爲了給你一個大概的瞭解:
考慮到你的應用程序是在angularjs,你應該有一個控制你所有的問題的模型裏面:
$scope.questions = [
{
"question":"foo?",
"options":["bar1","bar2","bar3","bar4"]
"answer":2
},
{
},
{
}
];
// initially show the 1st question
$scope.currentQuestIndex = 0;
$scope.currentQuestion = $scope.questions[$scope.currentQuestIndex];
,並使用currentQuestion您的視圖中爲:
<div>Question: {{currentQuestion.question}}</div>
當用戶選擇一個正確的答案,你可以簡單地更新當前的問題:
$scope.submitAnswer = function(){
// check if the answer is correct
if(isCorrect){
$scope.currentQuestion = $scope.questions[$scope.currentQuestIndex + 1];
}
}
這將動態更新您的看法!感謝angularjs提供的數據綁定功能。
啊謝謝你的洞察力..我可能會稍微改變方法。使用包含所有問題的模型並根據某些過濾器顯示它們。最初,過濾器只是「通過」第一個問題,但隨着用戶在問題中的進展,更多的人得到「解鎖」。 我想我需要一個過濾器,因爲不是所有的問題都可能需要。以「是」回答Q1會產生不同的Q2,然後是「否」 – publicJorn
您可以使用ng-include。 – zsong