編集:フォームで ng-model="$parent.selectedAnswer" を変更すると、機能します。誰かがそれを説明できるなら、私はそれを答えとしてマークします。
「次へ」ボタンをクリックすると、選択したラジオボタンの値を角度関数に収集しようとしていますが、常に未定義です。何が悪いのか本当にわかりません。ラジオ ボタンと値が html に適切に入力されます。次をクリックして選択した値を渡そうとしたときにのみ失敗します。
私のロジックは単純です。各ラジオ ボタンの値は [branchid、leafid、answerid] の配列です。次にクリックすると、その値を「selectedAnswer」モデルにバインドし、angularjs 側の next() 関数に渡します。
関連するコードは次のとおりです。
app.controller('GameNode', function ($scope, $http) {
function load(selectedAnswer) {
var leafId = 0, branchId = 0, answerId = 0;
alert(selectedAnswer); //this is always undefined
if (selectedAnswer !== undefined && selectedAnswer != null) {
branchId = selectedAnswer[0];
leafId = selectedAnswer[1];
answerId = selectedAnswer[2];
}
$http.get("/AccountRequest/GetNode?branchId=" + branchId +
"&leafId=" + leafId +
"&answerId=" + answerId)
.success(function(data) {
$scope.node = data;
});
}
$scope.next = load;
load();
});
--------------------------------------html側----------------------- ------------------------
<div class="container-fluid" ng-app="AccountRequest" ng-controller="GameNode">
<div class="row-fluid">
<div class="span2"></div>
<div class="span10">
<form>
<span>{{node.Question.Text}}</span>
<div class="radio" ng-repeat="answer in node.Answers">
<input type="radio" id="answerGroup" name="answerGroup" ng-model="selectedAnswer"
value="[{{answer.BranchId}},{{node.LeafId}},{{answer.Id}}]"/> {{answer.Text}}
</div>
<div>
<input type="button" ng-click="next(selectedAnswer)" value="Next" id="Next"/>
</div>
</form>
</div>
</div>
</div>