- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Material 设计构建一个有 Angular 的应用程序。我正在使用 $mdSidenav 服务来玩 sidenav,它应该能够随着用户的需求打开和关闭。
我围绕它创建了一个包装服务,如下所示:
(function () {
'use strict';
angular
.module('app.layout')
.factory('navigationService', navigationService);
navigationService.$inject = ['$mdSidenav'];
function navigationService($mdSidenav) {
var factory = {};
factory.toggle = toggle;
return factory;
//////////
function toggle() {
$mdSidenav('left').toggle();
}
}
}());
beforeEach(module(function ($provide) {
mdSidenav = {};
mdSidenav.toggle = jasmine.createSpy();
$provide.value('$mdSidenav', mdSidenav);
}));
beforeEach(inject(function(_navigationService_) {
navigationService = _navigationService_;
}));
it('Should call $mdSidenav toggle when required', function() {
// act
navigationService.toggle();
// assert
expect(mdSidenav.toggle).toHaveBeenCalled();
});
最佳答案
我对 Material 设计库不熟悉,但它看起来像$mdSidenav
返回一个函数。
你为什么不更换:$provide.value('$mdSidenav', mdSidenav);
和
$provide.factory('$mdSidenav', function() {
return function(direction){//if you use direction ('left' in your example) you could use it here
return mdSidenav;
};
})
关于angularjs - 如何对 $mdSidenav 服务进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31936131/
我正在使用 angular-material2 库中的 MdSidenav 组件,我想从另一个组件打开 MdSidenav。所以我想从另一个组件(即子组件)使用局部变量 #sidenav(在父组件中)
我正在使用 Material 设计构建一个有 Angular 的应用程序。我正在使用 $mdSidenav 服务来玩 sidenav,它应该能够随着用户的需求打开和关闭。 我围绕它创建了一个包装服务,
我刚开始使用 Angular Material ,所以我构建了一个带有工具栏、sidenav 和内容的骨架页面。 然而,当我尝试使用 $mdSidenav 的 toggle() 切换 sidenav
我第一次在 Stack 上写问题 ;)我在测试 $mdSidenav( Angular Material 组件。请参阅 https://material.angularjs.org/)时遇到问题。在我
我试图找出为什么 Angular .component()其中有 无法从自己组件的 Controller 中找到指令。 Angular 抛出以下错误: No instance found for ha
我在我的元素中使用了 Angular Material 中的一些组件,但我在移除服务 $mdSidenav 的灰色叠加层/背景时遇到了一些问题,因为我不知道看不到我可以在哪里配置它。 因为我不想破解
我是一名优秀的程序员,十分优秀!