Я создал директиву со связыванием, используя "scope". В некоторых случаях я хочу привязать постоянный объект. Например, с HTML:
<div ng-controller="Ctrl">
<greeting person="{firstName: 'Bob', lastName: 'Jones'}"></greeting>
</div>
и JavaScript:
var app = angular.module('myApp', []);
app.controller("Ctrl", function($scope) {
});
app.directive("greeting", function () {
return {
restrict: "E",
replace: true,
scope: {
person: "="
},
template:
'<p>Hello {{person.firstName}} {{person.lastName}}</p>'
};
});
Хотя это и работает, это также вызывает ошибку JavaScript:
Error: 10 $digest() iterations reached. Aborting!
(Fiddle демонстрирует проблему)
Каков правильный способ привязки постоянного объекта без возникновения ошибки?