私はこれをng-change、ng-keypress、ng-keyup、ng-keydownで試しました。
と 変更 ng-model値はコントローラーに反映されますが、フロントエンドには反映されません。
他の3つの値では、元の値より1文字少なくなります。 例:shareText = tag3の場合、タグのみが表示されます。 正しい値、つまりtag3を取得するにはどうすればよいですか?
回答:
回答№1は0.directive( "contenteditable"、function(){ 戻り値{ 制限:「A」、 必要なもの: "ngModel"、 リンク:function(scope、element、attrs、ngModel){
function read() {
ngModel.$setViewValue(element.html());
}
ngModel.$render = function() {
element.html(ngModel.$viewValue || "");
};
element.bind("blur keyup change", function() {
scope.$apply(read);
});
}
};
})
これを使用することにより、正常に動作します。 リンクを使用していたとき:function(scope、elm、attr、ngModel){
function updateViewValue() {
ngModel.$setViewValue(this.innerHTML);
}
//Or bind it to any other events
elm.on("keyup", updateViewValue);
scope.$on("$destroy", function() {
elm.off("keyup", updateViewValue);
});
ngModel.$render = function() {
elm.html(ngModel.$viewValue);
}
}
die = rectical link関数の内部では、ng-changeがフロントエンドに反映されていませんでした。