"Controller as"ブロック内にリストを作成しようとしていますが、何も表示されないようです。 JS "コントローラas"はng-repeatで動作しません
:var app = angular.module('testApp', []);
app.controller('listController', ["$scope", ($scope) => {
$scope.listFiles = ["hello", "world"];
}]);
HTML:私は$scope
での作業私のアイデアの最小限の例を得ている
<div ng-app="testApp" ng-controller="listController">
<div class="list-group">
<a class="list-group-item list-group-item-action" ng-repeat="filename in listFiles">{{ filename }}</a>
</div>
</div>
は、しかし、私は "としてコントローラ" を導入する場合、リストは表示されません:
JS:
var app = angular.module('testApp', []);
app.controller('listController', ["$scope", ($scope) => {
var $ctrl = this;
$ctrl.listFiles = ["hello", "world"];
}]);
HTML:
<div ng-app="testApp" ng-controller="listController as ctrl">
<div class="list-group">
<a class="list-group-item list-group-item-action" ng-repeat="filename in ctrl.listFiles">{{ filename }}</a>
</div>
</div>
私は$scope
とthis
は異なる概念であることを理解し、私はこのケースでは詳細のまわりで私の頭を包むように見えることはできません。
これはng-repeatのスコープルールの結果である可能性がありますか、わかりませんか?
でこの
を変更してみてください、これはES6構文のブラウザのサポートを行うには何も持っていますか? –
@ AlanGあなたの質問に基づいて、それは矢印機能が動作しているようです、そうでない場合、エラーが表示されます 'コントローラは機能していません。ところで、あなたの問題の主な理由は、あなたが文脈の問題につながる答えた矢印機能を使用しているということです。 – Pengyy