1. ホーム
  2. javascript

[解決済み] AngularJSのng-modelでArrayを作成する方法

2022-02-11 12:30:06

質問

私は電話機を保持する配列を作成しようとしています。

<input type="text" ng-model="telephone[0]" />
<input type="text" ng-model="telephone[1]" />

しかし、$scope.telephoneにアクセスすることができません。

どうすればいいですか?

まず、最初に。あなたは $scope.telephone をビューで使用する前に、コントローラで配列として使用することができます。

$scope.telephone = [];

新しい入力を追加するときに ng-model が認識されないという問題に対処するため、この問題を解決するためには $compile Angularのサービスです。

から Angular.js API リファレンス $compile :

HTML 文字列または DOM をテンプレートにコンパイルして、テンプレート関数を生成し、それを使ってスコープとテンプレートをリンクします。

// I'm using Angular syntax. Using jQuery will have the same effect
// Create input element
var input = angular.element('<div><input type="text" ng-model="telephone[' + $scope.inputCounter + ']"></div>');
// Compile the HTML and assign to scope
var compile = $compile(input)($scope);

をご覧ください。 JSFiddle