我使用“范围”创建了一个带有绑定的指令。在某些情况下,我想绑定一个常量对象。例如,使用 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!
绑定常量对象而不导致错误的正确方法是什么?