有时我在angular指令的名称或其模板中的元素标记上拼写错误。
但是,我得到的唯一反馈是指令的意外消失。
如果angularjs能警告我,我正试图使用一个未声明的指令,那就太好了,这样我就会注意到拼写错误。
这不是一个非常令人沮丧的问题,但它可以减少发现和解决这些琐碎问题的大量时间。
想法:Angular应该警告应用程序中使用的任何未使用Angular.directive(..)声明的非html标记,尽管该功能应该能够选择性地关闭。
创建单元测试,以验证您的指令呈现了预期效果。
例如,如果您使用Jasmine。。。
beforeEach(angular.mock.inject(function ($rootScope, $compile) {
mockScope = $rootScope.$new();
compileService = $compile;
}));
...
it('Renders what I want', function () {
//Arrange
var element = compileService('<div my-directive></div>')(mockScope);
//Act
mockScope.$digest();
//Assert
expect(element.html()).toContain("expected content");
});