すでにthisを読んでいます。ここで@ryeballarはng-repeatとcontrollerの範囲が矛盾しているので、問題に答えることができるので、$parent/controller as
構文を使用すると問題は解決します。しかし、何とか私の場合、解決策は機能していないようです。 ng-changeはコントローラAsとして宣言しても、まったく呼び出されません。また、それは私に奇妙な出力を与えている。
私は同じのためにplunkerを作成しました。1つの選択の後でng-changeが機能していない
HTMLここ
<tr ng-repeat="item in renew.items">
<td>{{item.deviceId}}</td>
<td>{{item.carName}}</td>
<td>{{item.regNumber}}</td>
<td><input type="radio" name="{{item.deviceId}}" ng-model="renew.foo" ng-value="Monthly" ng-change="renew.updatePref(item, 'Monthly')">Monthly
<input type="radio" ng-value="Yearly" ng-model="renew.bar" name="{{item.deviceId}}" ng-change="renew.updatePref(item, 'Yearly')">Yearly
</td>
<td>{{item.planStatus}}</td>
</tr>
は、私は、すなわち毎月一つだけが一度にクリックしたままであるように、毎年同じname = item.deviceId
で作成した2つのラジオボタンがあります。 まず、私はたくさんのことを試しました。最初にMonthlyがチェックされるようにng-valueをtrueに設定します。ng-changeは動作しなくなり、再クリックで呼び出されません。誰でも推測できますか?私が望む正確な動作は、Index.htmlのコメントに記載されています。あなたは、彼らが
app.controller('testCntrl', ['$scope', '$uibModal', function($scope, $uibModal) {
var vm = this;// store reference ALWAYS!
はその後に$スコープのすべての参照を変更し、正常に動作コントローラのプロパティとしての機能を作るとき、あなたがcontrollerAs
を使用しているとき
を使用しますか。これらのネストされた関数呼び出しの中で、 'this'は関数呼び出しの外のプロパティを指すことはありません。 – Claies
また、 '$ scope'と' this'を使って、コントローラ内で関数内だけで混合します – charlietfl