編集:
タイトルにある質問は以下のように正解ですので、その方法を知っていただくために、以下の回答を残しておいたほうがいいと思います。
私が使用しているフレームワークは、ここでAngularの変数からキャメルケースへの規則を完全に抽象化していないことがわかりました。ここだけでなく、他のほとんどの場所で抽象化されており、すべてが機能するようになったため、再描画を強制する必要はまったくありません。誰かがそうするなら、以下の答えを見てください。:)
編集:
タイトルにある質問は以下のように正解ですので、その方法を知っていただくために、以下の回答を残しておいたほうがいいと思います。
私が使用しているフレームワークは、ここでAngularの変数からキャメルケースへの規則を完全に抽象化していないことがわかりました。ここだけでなく、他のほとんどの場所で抽象化されており、すべてが機能するようになったため、再描画を強制する必要はまったくありません。誰かがそうするなら、以下の答えを見てください。:)
コントローラー内ではなく、ディレクティブ内でイベントバインディングを行います。$apply()
一部のモデルに変更を加え、それらの変更をディレクティブの外に反映させたい場合は、ディレクティブ内から呼び出す必要があります。
myApp.directive('someDir', function () {
return {
restrict: 'E',
scope: {
model: '=',
},
link: function (scope, elt, dirs) {
elt.bind('click', function () {
scope.$apply(function () {
// make changes to scope.model
});
});
}
}
});