誰かが私を案内できますか? $scope.nameStaff
をng-repeat
に入れると、その値はundefined
になります。私はなぜ値がundefined
であるのか分からない。
これは私のコードです:
<div ng-controller="MyCtrl">
<div ng-repeat="form in form">
<input type="text" ng-model="nameStaff" />
<input type="text" ng-model="idStaff" />
<button ng-click=addDetail()>add
</button>1
</div>
{{form}}
</div>
var myApp = angular.module('myApp', []);
function MyCtrl($scope) {
$scope.form = [{
companyName: "company1",
companyAddress: "company address",
staff: [{
name: "men",
id: "123"
}]
}, {
companyName: "company1",
companyAddress: "company address",
staff: [{
name: "men",
id: "123"
}]
}]
$scope.addDetail = function() {
alert($scope.nameStaff);
$scope.form[0].staff.push({
name: $scope.nameStaff,
id: $scope.idStaff
});
}
}
[ngRepeatのドキュメント](https://docs.angularjs.org/api/ng/directive/ngRepeat)を確認してください。 'ngRepeat'の各ループは独自のスコープを取得します。これが当てはまらない場合、 'addDetail'メソッドはあなたが参照していた' nameStaff'をどのように知っていますか? – Lex