小编nik*_*ong的帖子

CSS图像最大宽度设置为原始图像大小?

你能做这个吗?我让用户将图像上传到宽度为100%的容器中,但我不希望图像大于原始大小.非常感谢!

css image

62
推荐指数
1
解决办法
7万
查看次数

使用Grunt迭代模板

我正在构建一个grunt文件,我有2个文件夹需要应用相同的grunt任务.我希望能够使用grunt template属性迭代每个文件夹,这样我就不必通过重复配置对象来膨胀我的grunt配置对象.像这样:

app1: {
  name: 'app1',
  src: ['src/app/<%= app1.name %>'],
  jsTpl: ['<%= distdir %>/<%= app1.name %>/templates/**/*.js'],
  js: '<%= app1.src %>/**/*.js'
},
app2 {
  name: 'app2',
  src: ['src/app/<%= app2.name %>'],
  jsTpl: ['<%= distdir %>/<%= app2.name %>/templates/**/*.js'],
  js: '<%= app2.src %>/**/*.js'
},
concat: {
  app1: {
    src: ['<%= app1.src %>'],
    dest: ['dist']
  },
  app2: {
    src: ['<%= app2.src %>'],
    dest: ['dist/<%= app2.name %>']
  }
 }
Run Code Online (Sandbox Code Playgroud)

这将是理想的,非常干燥,不必重复app1app2-rather,这将是真棒,让他们通过一些配置组合在一起.但我似乎无法弄明白该怎么做.谢谢你的帮助!

谢谢!

javascript gruntjs

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

Chrome devtools 在被忽略的脚本中出现异常时错误地暂停

在此输入图像描述

形象不言而喻;该脚本位于调试器的忽略列表中;但每次我触发此异常时,它都会暂停。我无法取消选中Pause on caught exceptions,因为我试图暂停另一个启动脚本中捕获的异常。

Devtools 说The debugger will skip stepping through this script, and will not stop on exceptions,但它只是这样做,它并没有跳过这个脚本。

我尝试过几种方法,例如忽略/重新忽略。使用canary等。我在windows和osx机器上都有这个问题;所以这似乎与我的环境没有特别相关。

我想知道是否有其他人遇到过这个问题并找到了解决方法。谢谢。

google-chrome devtools

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

使用$ mdDialog.show()将范围项返回到父范围

呦!我有一个控制器,里面有一堆物品$scope.其中一个范围项目$scope.openDialog打开一个$mdDialog通道$mdDialog.show().传入的对象$mdDialog.show有一个模板,其中包含通过ng-file-upload项目上传文件的控件,您可以在这里阅读.

如果在退出对话框窗口后,在对话框窗口中上传的项目在主控制器中可用,我希望这样.我不确定对话框窗口的控制器是应该引用主myCtrl控制器还是使用它自己的控制器,以及如何使make上传的文件可用myCtrl.

这是角度代码:

angular.module('app', ['ngMaterial', 'ngFileUpload'])
.controller('myCtrl', ['$scope', '$mdDialog', 'Upload', function($scope, $mdDialog, Upload) {
  var tmpl = "<md-dialog>\n" +
    "<md-dialog-content>\n" +
    "    <input type=\"text\" ng-model=\"username\"></br></br>\n" +
    "    <input type=\"checkbox\" ng-model=\"multiple\">upload multiple file</br></br>\n" +
    "    watching model:\n" +
    "    <div class=\"button\" ngf-select ng-model=\"files\" ngf-multiple=\"multiple\">Select File</div>\n" +
    "    on file change:\n" +
    "    <div class=\"button\" ngf-select ngf-change=\"upload($files)\" ngf-multiple=\"multiple\">Select File</div>\n" +
    "    Drop File:\n" + …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs angularjs-scope material-design angular-material

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

AngularJS上传文件并将其发送到数据库

我一直在努力让ngFileUpload 工作,以便我可以上传图像并将它们发送到数据库 - 在我的情况下是一个mongoLab数据库接受JSON对象,可以使用如下POST语法编辑:

$http.post('myMongoName/myDb/myCollection/myTable', {'key': 'value'})
Run Code Online (Sandbox Code Playgroud)

相当简单.但是,我对如何将使用上传的图像发送ngFileUpload到数据库感到困惑.我正在使用ngFileUpload文档页面上介绍的熟悉语法:

$scope.upload = function (files) {
        if (files && files.length) {
            for (var i = 0; i < files.length; i++) {
                var file = files[i];
                console.log(file);
             Upload.upload({
                url: myMongoLabURL,
                fields: {'sup': 'sup'},
                file: file
                })
             }).success(function (data, status, headers, config) {
                    console.log('file ' + config.file.name + 'uploaded. Response: ' + data);
                });
            }
        }
 }
Run Code Online (Sandbox Code Playgroud)

但是,在记录file对象时,我得到了对象:

File {}
$$hashKey: "object:76"
lastModified: 1433922719000
lastModifiedDate: Wed …
Run Code Online (Sandbox Code Playgroud)

javascript node.js express angularjs ng-file-upload

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

npm install安装package.json中未指定的额外软件包

package.json在AWS ec2实例上有一个相当典型的例子.我正在运行npm install而不是安装

{
  "name": "angular-app-server",
  "description": "Back end server to support our angular app",
  "version": "0.0.1",
  "private": true,
  "dependencies": {
    "assert": "^1.3.0",
    "async": "^0.9.0",
    "bcrypt-nodejs": "0.0.3",
    "body-parser": "^1.13.1",
    "connect-multiparty": "^1.2.5",
    "express": "~3.0",
    "express-namespace": "~0.1.1",
    "express-session": "^1.11.1",
    "forever": "^0.14.2",
    "mongodb": "^2.0.36",
    "multiparty": "^4.1.2",
    "nodemailer": "^1.3.4",
    "open": "0.0.3",
    "passport": "~0.1.12",
    "passport-local": "~0.1.6",
    "request": "~2.16.6",
    "svgo": "^0.5.3"
  },
  "devDependencies": {
    "grunt": "~0.4",
    "grunt-contrib-jshint": "~0.2.0",
    "grunt-contrib-nodeunit": "~0.1.2",
    "rewire": "^2.0.1",
    "supervisor": "~0.4.1"
  }
}
Run Code Online (Sandbox Code Playgroud)

它正在安装数十个和几十个包,(通过cd node_modules&ls): …

amazon-ec2 amazon-web-services node.js

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

AngularJS ngMessages无法绑定到$ index表达式

我正在构建一个Angular表单,它需要一个可重复的表单元素ngRepeat.

<form name="form">
    <div ng-repeat="x in [1,2,3,4]">
      <input name="something_{{$index}}" ng-model="hi" required>
      <div ng-messages="form.something_{{$index}}.$error">
        <ng-message="required">This is required</ng-message>
      </div>
    </div>
    <pre>{{form | json: 4}}</pre>
  </form>
Run Code Online (Sandbox Code Playgroud)

Angular现在支持动态声明的input名称,因此您不必执行以下操作:

<div ng-repeat="x in [1,2,3,4] ng-form="repeated-form"></div>
Run Code Online (Sandbox Code Playgroud)

你可以{{$index}}在里面用它ngRepeat来动态地声明项目.但这似乎不起作用ngMessages,当我尝试将索引绑定到它时会抛出错误.

即:

<div ng-messages="form.something_{{$index}}.$error">
Run Code Online (Sandbox Code Playgroud)

抛出这个:

Error: [$parse:syntax] Syntax Error: Token '{' is an unexpected token at column 16 of the expression [form.something_{{$index}}.$error] starting at [{{$index}}.$error].
Run Code Online (Sandbox Code Playgroud)

如果ng-messages不能观察用{{$ index}}声明的表单值,我们如何动态声明表单上的哪个属性?

PLNKR:http://plnkr.co/edit/4oOasbtffTgKqmxcppUG?p = preview (检查控制台)

javascript forms angularjs

7
推荐指数
2
解决办法
3908
查看次数

AngularJS - 将范围(不带$)注入控制器

Material Design mdDialog文档中,我注意到他们已经将范围(没有带前缀的美元符号)传递DialogController到底部附近.

(function(angular, undefined){
  "use strict";
  angular
   .module('demoApp', ['ngMaterial'])
   .controller('AppCtrl', AppController);
  function AppController($scope, $mdDialog) {
    var alert;
    $scope.showAlert = showAlert;
    $scope.showDialog = showDialog;
    $scope.items = [1, 2, 3];
    // Internal method
    function showAlert() {
      alert = $mdDialog.alert({
        title: 'Attention',
        content: 'This is an example of how easy dialogs can be!',
        ok: 'Close'
      });
      $mdDialog
        .show( alert )
        .finally(function() {
          alert = undefined;
        });
    }
    function showDialog($event) {
       var parentEl = angular.element(document.body);
       $mdDialog.show({
         parent: parentEl,
         targetEvent: …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs angularjs-scope

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

AngularJS $ timeout不等待UI-Router在计算值之前完成渲染

我正在使用angularJSrequirejs通过angularAMD将复杂的应用程序连接在一起.

我的一个州有两个简单的观点,如下:

  $stateProvider
    .state("common", {
      url: "/",
      views: {
        "view1": {
          templateUrl: "view1.tpl.html"
          },
        "view2": {
          templateUrl: "view2.tpl.html"
        }
      }
    });
Run Code Online (Sandbox Code Playgroud)

HTML

<div ui-view="view1"></div>
<div ui-view="view2"></div>
Run Code Online (Sandbox Code Playgroud)

View1 有一个指令:

  .directive('checkViewOneBoxWidth', function ($timeout) {
    return {
      restrict: 'A',
      link: function (scope, elem, attrs) {
        var linkFunctionAfterDomComplete = function () {
          console.log(elem[0].scrollWidth);
        }
        $timeout(linkFunctionAfterDomComplete, 0);
      }
    }
  })
Run Code Online (Sandbox Code Playgroud)

view2有一些适用于造型的页面,包括更改样式表heightwidth该的view1容器.

我希望函数在样式表修改DOM 之后linkFunctionAfterDomComplete计算元素heightwidth属性,所以我将函数包装在一个.view2linkFunctionAfterDomComplete …

javascript angularjs angular-ui-router angular-amd

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

AngularJS将模块注入父模块并使用子模块运行和配置块

我正在尝试构建一个非常复杂的应用程序.此应用程序在各自的模块中涉及许多不同的状态,配置和运行块.我认为将这些模块连接在一起的一种好方法是将它们注入一个主app模块,该模块包含所有注入的模块.在这种特定情况下,subapp是注入的子模块.

我发现,subapp运行和配置块不会像他们的父母那样运行,让我在下面演示:

HTML

<html ng-app="app">
  <body>
    <a href="#/thestate">Head to the state!</a>
    <ui-view></ui-view>
  </body>

</html>
Run Code Online (Sandbox Code Playgroud)

JS

angular.module('app', ['ui.router', 'subapp']);

angular.module('subapp', ['ui.router'])
    .run(function($rootScope, $state) {
        $rootScope.$on('$stateChangeStart', function(event, toState) {
            if (toState.name === "theState") {
                event.preventDefault();
                $state.go('theState.substate', {
                    param: 1
                });
            }
        });
    })
.config(function($stateProvider, $urlRouterProvider) {
$stateProvider.state('theState', {
        url: '/thestate',
        template: '<div>this is the main state</div>' +
        '<a href="#/thestate/12">Go to state.substate</a>' +
        '<ui-view></ui-view>'
    })
    .state('theState.substate', {
        url: '/:param',
        template: '<div>{{id}}</div>',
        controller: function($scope, $stateParams) {
            $scope.id = …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs angular-ui-router

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