小编tur*_*ner的帖子

ESLint的"no-undef"规则将我对Underscore的使用称为未定义变量

我正在使用Grunt作为我的构建工具和ESLint作为我正在处理的应用程序的linting工具.我也在使用Underscore节点包,并在我的应用程序中使用它.不幸的是,当我在我的代码上运行ESLint时,它认为_是以下行中的未定义变量:

return _.pluck(objects, nameColumn);

这是它给我的错误:

78:21 error "_" is not defined no-undef

我不想禁用ESLint的no-undef规则,我尝试安装Underscore插件,但我仍然收到此错误.如果其他人有任何想法尝试这个,我会非常感激!

如果有任何进一步的信息,我可以帮助任何人帮助我解决这个问题,请告诉我!

javascript underscore.js angularjs gruntjs eslint

66
推荐指数
2
解决办法
5万
查看次数

如何禁用BrowserSync的跨设备操作镜像功能?(GhostMode)

我们的团队使用带有自耕农的gulp-angle发电机来构建我们的网络应用程序.它使用browsersync来处理我们想要的实时重载.但是,我们刚刚部署到我们的开发服务器,现在当两个开发人员同时使用gulp serve命令时,它们都显示在同一窗口中(即一个开发人员在一个窗口上键入,它显示在另一个开发人员的窗口中以及).我相信这是由于BrowserSync的跨设备测试功能,但我对如何禁用此功能感到茫然.如果有人知道如何做到这一点(最好不要禁用我们的实时重新加载功能),请告诉我!

下面是gulp文件夹中我的server.js文件的代码,它与gulp-angular生成器附带的代码相同,所以希望这对一些人有帮助.

'use strict';

var path = require('path');
var gulp = require('gulp');
var conf = require('./conf');

var browserSync = require('browser-sync');
var browserSyncSpa = require('browser-sync-spa');

var util = require('util');

var proxyMiddleware = require('http-proxy-middleware');

function browserSyncInit(baseDir, browser) {
  browser = browser === undefined ? 'default' : browser;

  var routes = null;
  if(baseDir === conf.paths.src || (util.isArray(baseDir) && baseDir.indexOf(conf.paths.src) !== -1)) {
    routes = {
      '/bower_components': 'bower_components'
    };
  }

  var server = {
    baseDir: baseDir,
    routes: routes
  };

  /*
   * You can …
Run Code Online (Sandbox Code Playgroud)

javascript web-applications yeoman gulp browser-sync

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

用户登录后如何动态更新指令?

我有一个带有navbar指令和基本注册/登录功能的应用程序.我想在用户登录后更改导航栏上的一些单词(从"注册/登录"到"退出"),但我无法找到最佳(甚至是一种)方式来执行此操作.我已经尝试将我想要更改的变量/绑定的值设置为在用户登录时更新的工厂,但这不起作用,并且指令不会使用其新值更新.

我的代码附在下面,特定的解决方案是值得赞赏的,但并不是真的有必要,如果有人能指出我正确的方向,如何做到这将是非常有帮助的.

我试过的解决方案:

  • 工厂
    1. 设置绑定变量等于更新的工厂变量
    2. 设置绑定变量等于这些变量的getter语句的输出
  • 饼干(宁愿避免,除非有人说服我这是解决这个问题的好方法)
    1. 设置绑定变量等于cookie中的值

不幸的是,这些都不会导致指令变量动态更新.我觉得解决方案很简单,但我想不出我应该做什么.

潜在解决方案

  • 使用路由,例如在用户登录时将视图从一个导航栏更改为另一个导航栏,尽管这看起来非常笨重
  • $ rootScope(不完全确定如何使用它,我猜这是错误的用途)

navbar.html

<nav class="navbar navbar-static-top navbar-inverse">
  <div class="container-fluid">
    <div class="navbar-header">
      <a class="navbar-brand" href="#/">
        <span class="glyphicon glyphicon-star"></span> Home
      </a>
    </div>

    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-6">
      <ul class="nav navbar-nav">
        <li><a ui-sref="message">Message</a></li>
        <li><a ui-sref="list">User List</a></li>
        <li><a ui-sref="schedule">Schedule</a></li>
      </ul>

      <ul class="nav navbar-nav navbar-right">
        <li><a ng-href="{{ vm.accountStatusLink }}">{{ vm.accountStatus }}</a></li>
      </ul>
    </div>
  </div>
</nav>
Run Code Online (Sandbox Code Playgroud)

navbar.directive.js

(function() {
  'use strict';

  angular
    .module('app')
    .directive('mainNavbar', mainNavbar);

  mainNavbar.$inject = ['userFactory'];

  function mainNavbar(userFactory) {
    var directive = {
      restrict: …
Run Code Online (Sandbox Code Playgroud)

javascript twitter-bootstrap angularjs angularjs-directive

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

使用seq()和rep()迭代数字

我需要使用rep()seq()获取以下向量:

1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9 
Run Code Online (Sandbox Code Playgroud)

通常我会使用一个for语句来实现这一点,但我被限制使用它,并且只能使用rep()seq()实现这个向量.

r

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