我在单击自定义Angular指令时尝试在某个类上设置CSS样式.我想在Link函数中完成这个(以及任何其他DOM操作).下面是我到目前为止,但我收到了一个address.on is not a function错误.单击类元素时,如何-webkit-filter: none在blur类上正确设置CSS blur?
function link(scope, element, attributes) {
var address = element[0].getElementsByClassName('blur');
address.on('click', function() {
address.css({'-webkit-filter': 'none'});
});
}
Run Code Online (Sandbox Code Playgroud) 我在我的网站上使用ng-infinite-scroll Angular 指令,它总体上运行良好。然而,在测试时我注意到如果我快速滚动页面会跳回到顶部。下面是我的 html 和我的滚动功能。我认为问题在于如何$scope.busy处理:
html:
<div class="row inner" infinite-scroll="loadImages()" infinite-scroll-distance="1" infinite-scroll-disabled="busy">
<h2 class="headline">{{event}}</h2>
<h3 class="headline">{{city}}, {{state}}</h3>
<div class="col-md-3 col-sm-4 col-xs-12 img-container" ng-repeat="photo in photos">
<a ng-href="{{photo.link}}" target="_blank" title="{{photo.text}}"><img ng-src="{{photo.img}}" onerror="imgError(this);" alt="" class="img-responsive insta" id="image"></a>
<div class="prof-circ" title="{{photo.username}}"><a ng-href="http://instagram.com/{{photo.username}}" target="_blank"><img ng-src="{{photo.profile}}" onerror="anonImg(this);" alt="" class="circular"></a></div>
</div>
Run Code Online (Sandbox Code Playgroud)
控制器代码:
$scope.loadImages = function() {
if ($scope.busy) return;
$scope.busy = true;
$scope.limit += 20;
Events.get($scope.id,$scope.limit).success(function(response) {
$scope.photos = response.photos.reverse();
$scope.busy = false;
});
}
Run Code Online (Sandbox Code Playgroud) 我正在使用Ionic Framework开发应用程序,并且无法尝试使用Angular-ui路由器.下面的第一个代码块完美地运行.然而,当我删除ng-controller="LoginController as login"并移动到这一点controller,并controllerAs在路线不关我的角码的我认为作品中的属性了.我以为我理解路由,但这个问题让我感到沮丧.
应用程序/登录/ login.html的:
<ion-view view-title="Login">
<ion-content ng-controller="LoginController as login">
Email: <input type="text" ng-model="login.email">
Password: <input type="text" ng-model="login.password">
<br><br>
<button ng-click="login.createUser()">Create User</button>
<br><br>
<button ng-click="login.removeUser()">Remove User</button>
<p ng-if="login.message">Message: <strong>{{ login.message }}</strong></p>
<p ng-if="login.error">Error: <strong>{{ login.error }}</strong></p>
</ion-content>
</ion-view>
Run Code Online (Sandbox Code Playgroud)
似乎"打破"我的视图的代码,app.config.js:
angular
.module('app')
.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('app', {
url: '/app',
abstract: true,
templateUrl: 'app/layout/menu.html'
})
.state('login', {
url: '/login',
templateUrl: 'app/login/login.html',
controller: 'LoginController',
controllerAs: 'login'
})
...
Run Code Online (Sandbox Code Playgroud) 我的业力覆盖率报告指出,下面的示例未涵盖我的“else”分支,但它已经过测试。知道为什么业力覆盖范围不识别我的测试吗?
实用程序.service.js:
function formatValue(value, form) {
if (form === '2') {
valueFormatted = twoDecimals(value);
} else if (form === '4') {
valueFormatted = fourDecimals(value);
}
return valueFormatted + '!';
}
Run Code Online (Sandbox Code Playgroud)
实用程序ServiceSpec.js:
describe('format values', function() {
var formattedValue;
var value;
var form;
it('should format 2 decimal places', function() {
value = 100;
form = '2';
formattedValue = utilitiesService.formatValue(value, form);
expect(formattedValue).toEqual('100.00!');
});
it('should format 4 decimal places', function() {
value = 100;
form = '4';
formattedValue = utilitiesService.formatValue(value, form);
expect(formattedValue).toEqual('100.0000!');
});
});
Run Code Online (Sandbox Code Playgroud) 我正在尝试让heatmapLayer在我使用angular-google-maps构建的地图中工作.我按以下方式设置了我的HTML:
<ui-gmap-google-map center='playerMap.center' zoom='playerMap.zoom'>
<ui-gmap-layer namespace="visualization" type="HeatmapLayer" show="true" onCreated="playerMap.heatmapCallback()"></ui-gmap-layer>
<ui-gmap-markers
models="playerMap.markers"
coords="'self'"
icon="'icon'"
fit="true"
doCluster="playerMap.cluster"
options="'options'"
click="playerMap.showWindow()"
events="playerMap.markersEvents">
<ui-gmap-window
show="playerMap.window.show"
coords="playerMap.window.model"
options="playerMap.window.options"
closeclick="playerMap.window.closeClick()"
templateUrl="'/app/dmPlayerMap/infoWindow.html'"
templateParameter="playerMap.window">
</ui-gmap-window>
</ui-gmap-markers>
</ui-gmap-google-map>
Run Code Online (Sandbox Code Playgroud)
我很困惑我应该在我的playerMap.heatmapCallback()方法中添加什么以及我需要做的其他任何事情来设置基本热图.该领域的文档非常缺乏.
有没有办法ticks根据当前数据集在D3轴上动态设置.我遇到的问题是我的时间范围(x轴)可能有很大差异.对于某些数据集,它需要几年的时间,对于其他数据集需要几个月,在某些情况下只需几毫秒.我目前有这套ticks:
.ticks(d3.time.month, 3)
Run Code Online (Sandbox Code Playgroud)
......每三个月显示一次.对于跨越数月或数年的数据,这是一个不错的季度轴.但是,如果数据的范围仅为几周,几天甚至几秒,则我的轴标签上不会显示任何内容.
我有一个在value表的jsonb 列中看起来像这样的对象数组:
"west": [
{"id": "aa92f346-7a93-4443-949b-4eab0badd983", "version": 1},
{"id": "cd92e346-6b04-3456-050a-5eeb0bddd027", "version": 3}
]
Run Code Online (Sandbox Code Playgroud)
我的目标是根据它们的id和版本从这个数组中删除某些对象,如下所示:
SELECT value::jsonb #- '{west, 1}' FROM game.settings;
Run Code Online (Sandbox Code Playgroud)
但是,它1不应该是硬编码的,而应该等于数组中对象的位置,该位置与我正在寻找的id和版本相匹配(在本例中"id": "cd92e346-6b04-3456-050a-5eeb0bddd027", "version": 3).
我将如何确定此阵列位置并将其传递到我的硬编码1当前保存的位置?
我正在尝试通过优化算法和理解big-o等方面做得更好.
我把下面的函数汇总在一起来计算第n个斐波纳契数.这是有效的(对于相当高的输入).我的问题是,我该如何改进这个功能?以这种方式计算Fibonacci序列有什么缺点?
function fibo(n) {
var i;
var resultsArray = [];
for (i = 0; i <= n; i++) {
if (i === 0) {
resultsArray.push(0);
} else if (i === 1) {
resultsArray.push(1);
} else {
resultsArray.push(resultsArray[i - 2] + resultsArray[i - 1]);
}
}
return resultsArray[n];
}
Run Code Online (Sandbox Code Playgroud)
我相信我的大时间是O(n),但由于我创建的数组,我的空间大o是O(n ^ 2).它是否正确?
我正在尝试将请求正文中的数据和请求参数传递给Angular $资源调用.下面是我的控制器的点击处理程序和它调用的服务:
controller.js:
vm.setLimit = function(limit) {
var data = {
activity: 'point_limit',
limit: limit
};
playersService.setPlayerLimit({
playerId: playerId,
data
});
};
Run Code Online (Sandbox Code Playgroud)
service.js:
angular.module('gameApp')
.factory('playersService', ['$resource',
function($resource) {
var base = '/api/players/:playerId/';
return $resource(base, {}, {
getPlayerInfo: {method: 'GET', url: base + 'playerInfo'},
setPlayerLimit: {method: 'POST', url: base + 'playerLimit'}
});
}]);
Run Code Online (Sandbox Code Playgroud)
getPlayerInfo有效,但setPlayerLimit不是因为,由于某种原因,它没有通过playerId.
javascript ×7
angularjs ×6
algorithm ×1
big-o ×1
d3.js ×1
dom ×1
fibonacci ×1
google-maps ×1
html ×1
http ×1
jasmine ×1
jsonb ×1
karma-runner ×1
node.js ×1
postgresql ×1
unit-testing ×1