AngularJS testi için jasmine kullanıyorum.Jasmine'de "Controller as" sözdizimi ile kapsam değişkenleri nasıl kullanılır?
<div ng-controller="configCtrl as config">
<div> {{ config.status }} </div>
</div>
nasıl yasemin bu "kapsam" değişkenleri kullanabilirsiniz: Benim görünümlerinde, ben sözdizimi "olarak Kontrolörü" kullanıyorum? "Denetleyici" nin anlamı nedir?
describe('ConfigCtrl', function(){
var scope;
beforeEach(angular.mock.module('busybee'));
beforeEach(angular.mock.inject(function($rootScope){
scope = $rootScope.$new();
$controller('configCtrl', {$scope: scope});
}));
it('should have text = "any"', function(){
expect(scope.status).toBe("any");
});
});
kesin, scope.status
biter çağrılması, hata ile:
Expected undefined to be "any".
GÜNCELLEME: Testim aşağıdaki gibi görünür Denetleyici (yazılardan derlenmiş javascript) şöyle görünür:
var ConfigCtrl = (function() {
function ConfigCtrl($scope) {
this.status = "any";
}
ConfigCtrl.$inject = ['$scope'];
return ConfigCtrl;
})();
En azından, sen 'bekliyoruz (scope.config.status) .toBe ("herhangi bir") yapmalıdır;' – zsong
'sözdizimi neredeyse' $ kapsamını yapıyor gibidir configCtrl' için kodu girin. config = this; 've this.status =" any ";' yapmak. –
"$ scope.config = this;" öğesini el ile denetleyicimde tanımladığımda çalışır. Ama bence öyle olması gerekmiyor, değil mi? – 3x14159265