मैं angularJS परीक्षण के लिए jasmine का उपयोग कर रहा हूँ।जैस्मीन में "नियंत्रक के रूप में" वाक्यविन्यास के साथ स्कोप चर का उपयोग कैसे करें?
<div ng-controller="configCtrl as config">
<div> {{ config.status }} </div>
</div>
मैं कैसे चमेली में इन "गुंजाइश" चर का उपयोग कर सकते हैं: मेरे विचार में, मैं वाक्य रचना "के रूप में नियंत्रक" उपयोग कर रहा हूँ? "कंट्रोलर के रूप में" क्या संदर्भित करता है?
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");
});
});
scope.status
समाप्त होता है कॉलिंग, सुनिश्चित करें के लिए, त्रुटि के साथ:
Expected undefined to be "any".
अद्यतन: मेरा परीक्षण ऐसा दिखाई देता नियंत्रक (टाइपप्रति से संकलित जावास्क्रिप्ट) इस तरह दिखता है:
var ConfigCtrl = (function() {
function ConfigCtrl($scope) {
this.status = "any";
}
ConfigCtrl.$inject = ['$scope'];
return ConfigCtrl;
})();
कम से कम, आपको क्या करना चाहिए 'उम्मीद (scope.config.status) .toBe (" किसी भी ");' – zsong
कोड 'configCtrl' के लिए वाक्य रचना के रूप में लगभग' कर $ गुंजाइश की तरह है प्रदान करें। config = this; 'और 'this.status =" any ";'। –
यह काम करता है अगर मैं अपने नियंत्रक में '$ scope.config = this;' मैन्युअल रूप से परिभाषित करता हूं। लेकिन मुझे लगता है कि ऐसा नहीं होना चाहिए, है ना? – 3x14159265