0
Safariでのみ発生するような問題が発生しました:SafariがAngularJSバインディングを正しくレンダリングしないのはなぜですか?
TL; DR - ここでは私が以下で説明することの明白な例です(明らかにサファリでプランクを実行する場合にのみ示されます) https://plnkr.co/edit/t6Ts2DlhV84C7CLFzdui?p=preview
<html>
<head>
<script src="https://code.angularjs.org/1.6.6/angular.js"></script>
<script>
var app = angular.module('safariBug', []);
app.controller('main', function($scope) {
$scope.mytext = "Here is a bunch of text, some of which will continue to be displayed.";
$scope.update = function() {
$scope.mytext = "New line of text.";
}
});
</script>
</head>
<body ng-app='safariBug'>
<div ng-controller='main'>
<div style='height:300px;width:300px;font-size:48px'>{{mytext}}</div>
<input type='button' ng-click='update()' value='Update Text' />
</div>
</body>
</html>
データバインド変数を使用して、ビュー内の文字列を表示し、それが即座に表示されますが、古い値が長い場合、それは消去されません新しい値を文字列に置き換えます。たとえば、文字列が「元の文章」で、その文字列が「新しいテキスト」に置き換えられた場合、「新しい文章センテンス」などが表示されます。 html要素のスタイルが変更されるとすぐに、古いテキストを削除してSafariに要素を正しく再描画させるように見えます。
ありがとうございました! SafariのバグであるAngularJSのバグですか、それとも間違っていますか? – eamers
これは角度のデータをバインドする別の方法であり、upvoteはあなたから評価されます。 –
upvoteの不足のため申し訳ありませんが、私は十分な影響力ポイントを持っていませんでした – eamers