小编Mat*_*nis的帖子

如何在Angular指令的Link函数中设置CSS样式

我在单击自定义Angular指令时尝试在某个类上设置CSS样式.我想在Link函数中完成这个(以及任何其他DOM操作).下面是我到目前为止,但我收到了一个address.on is not a function错误.单击类元素时,如何-webkit-filter: noneblur类上正确设置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)

html javascript dom angularjs

2
推荐指数
1
解决办法
3378
查看次数

无限滚动导致快速滚动时跳转到屏幕顶部

我在我的网站上使用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)

javascript infinite-scroll angularjs nginfinitescroll

1
推荐指数
1
解决办法
1834
查看次数

Angular-UI路由器无法在Ionic app中运行

我正在使用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)

angularjs angular-ui-router ionic-framework

1
推荐指数
1
解决办法
847
查看次数

Karma 覆盖范围无法识别分支测试

我的业力覆盖率报告指出,下面的示例未涵盖我的“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)

javascript unit-testing jasmine angularjs karma-runner

1
推荐指数
1
解决办法
2770
查看次数

如何在Angular-Google-Maps中使用heatmapLayer?

我正在尝试让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()方法中添加什么以及我需要做的其他任何事情来设置基本热图.该领域的文档非常缺乏.

javascript google-maps angularjs angular-google-maps

1
推荐指数
1
解决办法
3063
查看次数

根据数据范围动态设置D3刻度

有没有办法ticks根据当前数据集在D3轴上动态设置.我遇到的问题是我的时间范围(x轴)可能有很大差异.对于某些数据集,它需要几年的时间,对于其他数据集需要几个月,在某些情况下只需几毫秒.我目前有这套ticks:

.ticks(d3.time.month, 3)
Run Code Online (Sandbox Code Playgroud)

......每三个月显示一次.对于跨越数月或数年的数据,这是一个不错的季度轴.但是,如果数据的范围仅为几周,几天甚至几秒,则我的轴标签上不会显示任何内容.

javascript d3.js

1
推荐指数
1
解决办法
1661
查看次数

在postgres jsonb数组中查找对象的位置

我有一个在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当前保存的位置?

postgresql node.js jsonb

1
推荐指数
1
解决办法
676
查看次数

在Javascript中计算斐波纳契数列的最有效方法

我正在尝试通过优化算法和理解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).它是否正确?

javascript algorithm big-o fibonacci

0
推荐指数
1
解决办法
4652
查看次数

如何在$ resource POST上设置请求体和参数

我正在尝试将请求正文中的数据和请求参数传递给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 http angularjs

0
推荐指数
1
解决办法
2092
查看次数