นี่เป็นข้อผิดพลาดทั่วไปในแอปพลิเคชัน Angular ใหม่ คุณไม่ต้องการเขียนค่าของคุณลงใน HTML ของคุณบนเซิร์ฟเวอร์หากคุณสามารถหลีกเลี่ยงได้ หากคุณสามารถหลีกเลี่ยงการให้เซิร์ฟเวอร์ของคุณแสดง HTML ได้ทั้งหมดก็ยิ่งดี
ตามหลักการแล้วคุณต้องการส่งเทมเพลต Angular HTML ของคุณจากนั้นดึงค่าของคุณผ่าน $ http ใน JSON และวางไว้ในขอบเขตของคุณ
ดังนั้นหากเป็นไปได้ให้ทำสิ่งนี้:
app.controller('MyController', function($scope, $http) {
$http.get('/getCardInfo.php', function(data) {
$scope.card = data;
});
});
<input type="text" ng-model="card.description" />
หากคุณต้องแสดงค่าของคุณใน HTML จากเซิร์ฟเวอร์ของคุณอย่างแน่นอนคุณสามารถใส่ค่าเหล่านี้ในตัวแปรส่วนกลางและเข้าถึงได้ด้วย $ window:
ในส่วนหัวของเพจคุณจะต้องเขียน:
<head>
<script>
window.card = { description: 'foo' };
</script>
</head>
จากนั้นในคอนโทรลเลอร์ของคุณคุณจะได้รับสิ่งนี้:
app.controller('MyController', function($scope, $window) {
$scope.card = $window.card;
});
ฉันหวังว่าจะช่วยได้