小编Mat*_*nis的帖子

在Angular服务调用中确定范围

我很困惑为什么我不能按要求执行此服务调用.该console.log范围内的definitionsService.get承诺,决心是我所期待的(对象我的目标返回).然而在console.log我回来之前正确的defsundefined哪个,当然是指我的返回值是不确定的.我错过了什么?

function getDefinitions() {
  var defs;
  definitionsService.get().$promise.then(function(data) {
    console.log(data);
    defs = data;
    console.log(defs);
  });
  console.log(defs);
  return defs;
};
Run Code Online (Sandbox Code Playgroud)

我把上面改为:

function getDefinitions() {
  var defs = $q.defer();
  definitionsService.get().$promise.then(function(data) {
    defs.resovle(data);
  });
  return defs.promise;
};
Run Code Online (Sandbox Code Playgroud)

根据以下答案.

我也按照相同的答案更改了我调用此方法的方式:

function detail(account) {
  getDefinitions().then(function(definitions) {
    var key = angular.isDefined(definitions.ABC[account.code]) ? account.code : '-';
    return definitions.ABC[key].detail;
  });
}
Run Code Online (Sandbox Code Playgroud)

然后在我的控制器中,我正在尝试执行以下操作:

var getAccounts = function() {
  playersService.getAccounts({
    playerId: playerId
  }).$promise.then(function(accounts) {
    for (var i = 0; i < …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

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

我可以一起使用'res.sendFile'和'res.json'吗?

目前我在Express应用程序中使用控制器来处理路由.当某条路线被击中时,我会打电话给pagesController.showPlayerindex.html.这是控制器:

'use strict';

var path = require('path');

var player = function(req, res) {
  res.sendFile(path.join(__dirname, '../assets', 'index.html'));
};

module.exports = {
  player: player
};
Run Code Online (Sandbox Code Playgroud)

我还需要发回一个JSON对象,表示请求此路由的用户.但是,当我添加res.json({user: req.user});所有我得到的是这个JSON对象,index.html不再显示.

javascript node.js express

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

页面刷新时Angular'无法获取'路线

我的Angular应用程序中有一个搜索功能,当执行时会点击我的API以获取结果然后重定向用户使用$location.url.一切都很好......直到我尝试重新加载结果页面.当我这样做时,我得到一条Cannot GET /search/[search-term]消息.

app.config.js:

'use strict';

angular.module('gameApp')
  .config(function($routeProvider, $locationProvider) {
    $routeProvider

    .when('/player/:playerId', {
      templateUrl: 'player.html'
    })
    .when('/search/:searchTerm', {
      templateUrl: '/app/gmSearchResults/gmSearchResults.html'
    });

    $locationProvider.html5Mode({
      enabled: true,
      requireBase: false,
      rewriteLinks: false
    });
  });
Run Code Online (Sandbox Code Playgroud)

相关的navbar.controller.js:

vm.getSearchResults = function(searchTerm) {
  searchService.resource.getResults({
    query: searchTerm
  }).$promise.then(function(results) {
    if (results.playerId) {
      $location.url('/customer/' + results.playerId);
    } else {
      saveLatest(results);
      $location.url('/search/' + searchTerm);
    }
  });
};
Run Code Online (Sandbox Code Playgroud)

javascript node.js angularjs

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

如何访问AngularJS中的最近元素(没有jQuery)

如何在Angular中正确访问最接近的元素,如下面的jQuery代码,而不使用jQuery?

link: function (scope, element, attrs) {
  function handler($event) {
    if(!($event.target).closest(element).length) {
      scope.$apply(function () {
        $parse(attrs.clickOutside)(scope);
      });
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

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

在Angular Material网格中缩放图像

我正在尝试将图像放在我正在研究的基于Angular-Material的应用程序的网格图块中。我的问题是这些图像无法“适合”其图块。下面是一个例子。我的图片很大(2832x4256),并且占据了整个容器,而不是缩放以适合其图块。如何获得可缩放的图像以适合网格中各自的图块?

<md-grid-list md-cols-gt-md="3" md-cols-md="2" md-cols-sm="1" md-gutter="12px" md-row-height="1:1">
  <md-grid-tile class="green">
    <img src="resources/images/food-beer.jpg" alt="beer">
    <md-grid-tile-footer>
      <h3>first tile</h3>
    </md-grid-tile-footer>
  </md-grid-tile>
  <md-grid-tile class="blue">
    <md-grid-tile-footer>
      <h3>second tile</h3>
    </md-grid-tile-footer>
  </md-grid-tile>
  <md-grid-tile class="purple">
    <md-grid-tile-footer>
      <h3>third tile</h3>
    </md-grid-tile-footer>
  </md-grid-tile>
</md-grid-list>
Run Code Online (Sandbox Code Playgroud)

结果如下。相反,我的目标是使图像占用与每个蓝色和紫色瓷砖相同的空间。

在此处输入图片说明

html css angularjs angular-material

4
推荐指数
3
解决办法
9642
查看次数

psql在结果数组中返回'anonymous'

我在我的节点服务器上运行以下psql:

SELECT json_data.key AS id, json_data.value::int AS version
FROM players.settings, json_each_text(players.settings.value) AS json_data
WHERE name = $1 AND json_data.value::int > 0;
Run Code Online (Sandbox Code Playgroud)

返回的结果包括anonymous每个结果对象之前的字符串:

[ anonymous { id: '1ab56bd6-ef7d-4755-92d5-1b0cf7beb4b7', version: 1 },
anonymous { id: '4ea3d884-d2a6-4074-a094-a45f6003e6d4', version: 1 } ]
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么?我以前从未见过这个匿名字符串,想要摆脱它.

sql postgresql node.js

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

在Angular中将commentDirectivesEnabled和cssClassDirectivesEnabled设置为false

我试图对我的配置做一些小调整,希望能稍微提高性能.我在这里阅读了Angular文档,他们提到了禁用注释和CSS类指令.我尝试使用我的配置中的以下代码执行此操作,但我一直得到TypeError: $compileProvider.commentDirectivesEnabled is not a functionTypeError: $compileProvider.cssClassDirectivesEnabled is not a function错误.

注意:我正在运行Angular 1.4.9

'use strict';

angular.module('app')
  .config(compilationConfig)
;

compilationConfig.$inject = ['$compileProvider'];

function compilationConfig($compileProvider) {
  $compileProvider.debugInfoEnabled(false);
  $compileProvider.commentDirectivesEnabled(false);
  $compileProvider.cssClassDirectivesEnabled(false);
}
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

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

找到第一个结果时短路 UNION 查询

我构建了一个非常基本的 UNION 查询,以确定传递到我的查询中的 UUID 的“类型”,如下所示:

(
  SELECT
  CASE WHEN id IS NOT NULL THEN 'player_id' ELSE '' END AS uuid_type 
  FROM db.players
  WHERE id = $1
)
UNION
(
  SELECT
  CASE WHEN id IS NOT NULL THEN 'game_id' ELSE '' END AS uuid_type 
  FROM db.games
  WHERE id = $1
)
UNION
(
  SELECT
  CASE WHEN id IS NOT NULL THEN 'location_id' ELSE '' END AS uuid_type 
  FROM db.locations
  WHERE id = $1
)
UNION
(
  SELECT
  CASE WHEN id IS …
Run Code Online (Sandbox Code Playgroud)

sql postgresql

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

$ rootScope.$向所有控制器发出广播吗?包括它自己?

我正在使用$rootScope.$emit()$rootScope.$on()在我的Angular应用程序中广播和监听状态更改.

在某些情况下,多个控制器都可以发出和侦听相同的事件.如果我在同一个控制器中有以下代码,那么这个控制器.$on在发出事件时运行它的代码,或者该事件只向其他控制器广播?

$rootScope.$emit('adminChanged');
...
$rootScope.$on('adminChanged', function() {
  getCustomerInfo();
});
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

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

在 mouseenter (D3) 上放大 svg 组元素

我正在尝试mousesenter使用以下代码放大事件上的 svg 组元素。相反,此代码会放大该组内的图像(导致类似“缩放”的效果)。当我改变时什么images.on('mouseenter'...nodeEneter.on('mouseenter...没有发生。我的完整示例可以在这里找到:http ://blockbuilder.org/MattDionis/7f5375d927698f508a01

var node = vis.selectAll('g.node')
      .data(nodes, function(d) {
        return d.id;
      });

    var nodeEnter = node.enter().append('svg:g')
      .attr('class', 'node')
      .attr('transform', function(d) {
        return "translate(" + d.x + "," + d.y + ")";
      })
      .attr('filter', 'url(#drop-shadow)')
      .on('click', click)
      .call(force.drag);

    var images = nodeEnter.append('svg:image')
      .attr('xlink:href',  function(d) {
        return d.img;
      })
      .attr('x', function(d) {
        return -25;
      })
      .attr('y', function(d) {
        return -25;
      })
      .attr('height', 50)
      .attr('width', 50)
      .attr('clip-path', 'url(#clip-circle)');

    var setEvents = images
      .on('mouseenter', function() …
Run Code Online (Sandbox Code Playgroud)

javascript svg d3.js

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

标签 统计

javascript ×7

angularjs ×6

node.js ×3

postgresql ×2

sql ×2

angular-material ×1

css ×1

d3.js ×1

express ×1

html ×1

svg ×1