我在我的作用域上聲明瞭一個返回對象的函數。 我嘗試將此函數的結果傳遞給自定義指令,但它會觸發無限的摘要循環(打開您的控制檯並運行代碼段)。如何將函數調用的結果傳遞給指令?
似乎objectEquality
標誌沒有設置在觀察者上,這就是爲什麼角度沒有進行深度比較。
我在做什麼錯?是否有可能實現或者我是否違反了Angular原則?
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.bar = function() {
return {
baz: 'qux'
};
};
}).directive('myDirective', function() {
return {
restrict: 'E',
scope: {
foo: '='
}
}
});
<script src="https://code.angularjs.org/1.3.16/angular.js"></script>
<div ng-app="plunker">
<div ng-controller="MainCtrl">
<my-directive foo="bar()"></my-directive>
</div>
</div>
爲什麼你需要這個功能? –