Если у меня есть директива, которая отвечает на статус определенного атрибута в области видимости, и я хочу изменить этот атрибут в моем тесте и убедиться, что он отвечает правильно, что является лучшим способом сделать это изменение?
Я видел оба этих паттерна:
scope.$apply(function() {
scope.myAttribute = true;
});
и
scope.myAttribute = true;
scope.$digest();
В чем разница между ними, что лучше и почему?
источник
$digest
также призвал детей прицела?$digest
не только увольняет наблюдателей на текущем прицеле, но и на всех его дочерних объектов.Поскольку в самой документации упоминается, цикл $ digest выполняется каждый раз, когда вы это делаете
$scope.$apply
. Согласно руководству разработчика по объемуИ согласно документации Scope API
Таким образом, вы не должны явно вызывать
$digest
, вызывающий$apply
метод вызовет цикл дайджеста.источник