/ / contenteditableディレクティブで使用されるコントローラーでng-modelの正しい値を取得するにはどうすればよいですか? --javascript、angularjs

contenteditableディレクティブで使用されるコントローラでng-modelの正しい値を取得するにはどうすればよいですか? - javascript、angularjs

私はこれを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がフロントエンドに反映されていませんでした。