相关疑难解决方法(0)

AngularJS:如何将常量对象绑定到指令

我使用"scope"创建了一个带有绑定的指令.在某些情况下,我想绑定一个常量对象.例如,使用HTML:

<div ng-controller="Ctrl">
    <greeting person="{firstName: 'Bob', lastName: 'Jones'}"></greeting>
</div>
Run Code Online (Sandbox Code Playgroud)

和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>'
    };
});
Run Code Online (Sandbox Code Playgroud)

虽然这有效,但它也会导致JavaScript错误:

Error: 10 $digest() iterations reached. Aborting!
Run Code Online (Sandbox Code Playgroud)

(小提琴演示问题)

绑定常量对象而不导致错误的正确方法是什么?

angularjs angularjs-directive angularjs-scope

14
推荐指数
2
解决办法
2万
查看次数