小编scn*_*iro的帖子

禁用某些元素的nganimate

我使用的是ngAnimate模块,但我所有的ng-if,ng-show等等,都受到了影响,我想利用ngAnimate对一些选定的元素.对于性能和一些显示和隐藏非常快速的元素的错误.

谢谢.

angularjs ng-animate

92
推荐指数
6
解决办法
4万
查看次数

Angularjs:$ scope vs scope

在Angularjs中,有没有特定的理由$scope在控制器和scope(不"$")指令中使用链接功能?这只是一个约定还是其他什么?

angularjs

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

JavaScript中的一行if/else

我有一些逻辑,用开/关切换(with和else/if)true/false但我想做的更精简而不使用switch语句.理想情况下,if/else将被转换为一条短线.谢谢!!!

var properties = {};
var IsItMuted = scope.slideshow.isMuted();
if (IsItMuted === true) {
    properties['Value'] = 'On';
} else {
    properties['Value'] = 'Off';
}       
Run Code Online (Sandbox Code Playgroud)

javascript

19
推荐指数
4
解决办法
4万
查看次数

使用css缩小进行远程字体导入

我正在尝试连接和缩小所有bower包资产,包括css.其中一个是bootswatch设计,它导入谷歌字体.问题是,在其上运行css任务会导致超时异常.我猜它是试图下载这些字体,它需要太长时间,因为每次都不会发生异常.

我该如何解决它?

Gulp进口:

var gulpMinifyCss = require('gulp-minify-css');
var gulpConcatCss = require('gulp-concat-css');
var mainBowerFiles = require('main-bower-files');
var gulpFilter = require('gulp-filter');
Run Code Online (Sandbox Code Playgroud)

Gulp任务:

gulp.task('compileBowerCss', function(){
    return gulp
        .src(mainBowerFiles())
        .pipe(gulpFilter('*.css'))
        .pipe(gulpConcatCss('bower.css'))
        .pipe(gulpMinifyCss())
        .pipe(gulp.dest(assetsFolder + cssFolder));
});
Run Code Online (Sandbox Code Playgroud)

例外:

events.js:85
  throw er; // Unhandled 'error' event
        ^
Error: Broken @import declaration of "https://fonts.googleapis.com/css?family=Roboto:300,400,500,700" - timeout
Run Code Online (Sandbox Code Playgroud)

单独运行此任务,其他任何事情都无法正常工作(据我所知,通过极限测试),但与其他任务一起运行会导致提到的错误.

css google-font-api gulp gulp-minify-css gulp-clean-css

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

AngularJS错误:未知提供者:aProvider < - a

好吧,我已经正式秃顶了,因为我已经用这个臭名昭着的问题拉了我的头发:minfied AngularJS应用程序只是不起作用,这个错误被抛出:

错误:[$ injector:unpr]未知提供者:aProvider < - http://errors.angularjs.org/1.2.6/ $ injector/unpr?p0 = aProvider%20%3C-%20a at http:// localhost /my-app/dist/scripts/1bde0e2e.vendor.js:4:11492 at http://localhost/my-app/dist/scripts/1bde0e2e.vendor.js:4:26946 at Object.c [as get] (http://localhost/my-app/dist/scripts/1bde0e2e.vendor.js:4:26250),网址为:http://localhost/my-app/dist/scripts/1bde0e2e.vendor.js:4:27041 at c(http://localhost/my-app/dist/scripts/1bde0e2e.vendor.js:4:26250)在Object.d [作为调用](http:// localhost/my-app/dist/scripts/1bde0e2e) .vendor.js:4:26496)在http://localhost/my-app/dist/scripts/1bde0e2e.vendor.js:9:910 at Object.f [as forEach](http:// localhost/my- app/dist/scripts/1bde0e2e.vendor.js:4:11927)在http://localhost/my-app/dist/scripts/1bde0e2e.vendor.js:9:856 at j(http:// localhost/my -app/dist/scripts/1bde0e2e.vendor.js:5:27235)

很多其他人也有这个问题,但看起来它可以通过将依赖关系声明为数组而不是裸函数参数来修复,如下所示:

angular.module('my-app').controller('LoginCtrl', [ '$scope', 'HttpService', function($scope, HttpService) { ... }]);
Run Code Online (Sandbox Code Playgroud)

而不是这个:

angular.module('my-app').controller('LoginCtrl', function($scope, HttpService) { ... });
Run Code Online (Sandbox Code Playgroud)

但它在我的情况下不起作用.我检查了所有脚本(咖啡和生成的javascripts),它们都使用正确的数组样式声明.

这个问题显然不是来自额外的包装.我尝试将所有额外的包引用移出<!-- bower:js -->块(这样它们不会被grunt缩小),但问题仍然存在.这意味着,这是我的代码责备...但是再次,我已经尝试了(似乎是)唯一可用的修复,但无济于事.

任何提示,即使是如何正确调试这个?

提前致谢!

javascript coffeescript angularjs gruntjs

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

为什么我的可疑光标在Chrome中跳到最后?

脚本

我有一个令人满意的<div>区域,在这个区域内我可能有一些<span contenteditable="false"></span>包含一些文字.我们的想法是,这些span元素将表示无法编辑的样式文本,但可以<div contenteditable="true"></div>通过按退格键从区域中删除.

问题

光标放置在这里的大问题.如果你删除其中一个<span>元素,光标会跳到结尾<div>.更有趣的是,如果你在光标"结束时"输入一些文字,那么文本放置就好了...然后,如果删除新输入的文本,光标会跳回来!

我准备了一个小提琴来证明这一点.我需要这个只能在Chrome中使用,而其他浏览器现在要么不关心,要么有适当的解决方法.(另请注意,准备好的小提琴只是为了在Chrome中展示这一点).

小提琴


小提琴说明: Chrome版本39.0.2171.95米(64位)也以32位再现

  1. 点击进入<div>区域
  2. 输入"123"
  3. 退格键"3"退格键"2"退格键"1" 在此输入图像描述

相关细节

对此进行了广泛的研究,我遇到了类似的各种SO问题,但借用相关解决方案并未证明是我所追求的银弹.我还发现Chrome项目的问题似乎针对上述问题(可能不是以确切的方式),可以在下面查看.

  1. 问题384357:在具有不可编辑节点的可信区域内的插入位置
  2. 问题385003:当到达contenteditable元素中的行尾时插入插入符样式是错误的
  3. 问题71598:在contentEditable结尾处的不可编辑元素之后处于错误位置的插入符号

我发现的最接近的SO解决方案可以在这里.这个解决方案的想法是&zwnj;<span>元素之后放置字符,但如果我现在要删除我<span>,我会删除&zwnj;...强制我的光标跳到最后,提供一个奇怪的UI体验,不删除我的<span>"我的"初始删除键击."

有没有人遇到过这个问题并找到了解决方法?我欢迎任何可能的解决方案,即使JS他们来的时候也很讨厌.我已经开始了解到杠杆作用contenteditable还有一个挣扎的清单,但这似乎是我目前最后的困难.

html javascript google-chrome contenteditable

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

如何解析DOM(REACT)

我试图从网站上抓取数据.该网站使用Facebook的React.因此,我可以使用Jaunt解析的源代码与我在使用Chrome检查器检查元素时看到的代码完全不同.

我对这一切知之甚少,但做了一些研究后我认为这与DOM而不是源代码有关.我需要一种能够获得这个DOM代码的方法,因为原始的源代码包含我想要的任何东西,但我没有最模糊的想法从哪里开始(甚至在这里阅读了很多答案).

是我想要抓取的页面的一个示例.例如,为了抓住描述,我想抓住标签之间的内容:

<span class="light-font extended-card-description list-group-item">Example description....</span>
Run Code Online (Sandbox Code Playgroud)

但正如您所看到的,此元素仅在您" 检查元素 " 时出现,而不是在我查看页面源时出现.

我在这里问你天才的问题是,如何抓住这个DOM代码并开始抓取我真正想要的元素?

请原谅我,如果我的术语完全关闭,但正如我所说,这对我来说是一个全新的领域,我已经做了我能做的研究.

非常感谢你提前!

html javascript node.js web-scraping reactjs

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

避免直接改变道具,因为该值将被覆盖

升级到Vue 2.0时我遇到了很常见的问题

我收到警告:

避免直接改变道具,因为只要父组件重新渲染,该值就会被覆盖.而是根据prop的值使用数据或计算属性.Prop变异:"username"(在组件中找到)

我多次阅读文档,但我仍然无法理解如何修复它.

usernamepassword在主Vue应用程序中声明.

这是我的代码:

var GuestMenu = Vue.extend({
   props : ['username', 'password'],
      template: `
        <div id="auth">
            <form class="form-inline pull-right">
                <div class="form-group">
                    <label class="sr-only" for="UserName">User name</label>
                  <input type="username" v-model="username" class="form-control" id="UserName" placeholder="username">
                </div>
                <div class="form-group">
                  <label class="sr-only" for="Password">Password</label>
                  <input type="password" v-model="password" class="form-control" id="Password" placeholder="Password">
                </div>
            </form>
        </div>`,
    });
Run Code Online (Sandbox Code Playgroud)

 

App = new Vue ({ 
   el: '#app',
  data: 
    {
      topMenuView: "guestmenu",
      contentView: "guestcontent",
      username: "",
      password: "",

    }
})
Run Code Online (Sandbox Code Playgroud)

我试过v-bind但它似乎没有用,我无法理解为什么.它应该将值绑定到父级(主Vue应用程序)

javascript vue.js

16
推荐指数
5
解决办法
4万
查看次数

手动显示AngularStrap下拉 - 如何?

我想显示AngularStrap下拉手动,撬动trigger结构上$dropdownProvider这样

// how dropdown is triggered - click | hover | focus | manual
app.config(function($dropdownProvider) {
    angular.extend($dropdownProvider.defaults, {
        trigger: 'manual'
    });
});
Run Code Online (Sandbox Code Playgroud)

click hover focus一切正常,但为什么不manual呢?我还没有发现任何证据证明这提供了api配置选项.我怎样才能做到这一点?

事实上,这个问题似乎是在我最初的问题提出后发现的,但现在已经关闭,一年后我还没有找到解决方案.

问题:缺少有关如何使用trigger = manual的文档

我已经找到了一个例子来说明我在努力解决这个问题.为了澄清我的目标,我想在<textarea>键击(ng-model更改)时触发我的下拉菜单.我希望能够抓住下拉列表并调用一个函数来手动触发它,而不使用任何默认的触发器选项,具体而言trigger: manual,并且以直观的方式执行此操作,应该根据api提供,因此所需的解决方案不应该被限制在任何特定的触发器 - 但完全手动,以适应许多不同的用法.

Plunker Link


<textarea ng-model="expression" intellisense></textarea>
Run Code Online (Sandbox Code Playgroud)
app.directive('intellisense', [function () {
    return {
        restrict: 'A',
        link: function (scope, elem, attrs) {
          scope.$watch(attrs.ngModel, function (v) {
                if(v) {
                  // how do I trigger dropdown …
Run Code Online (Sandbox Code Playgroud)

html javascript angularjs angularjs-directive angular-strap

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

gitignore,如何排除特定目录

我正在尝试利用.gitignore文件来排除特定目录,但我遇到了一些麻烦.我在以前的几个论坛上查看了如何做到这一点,包括stackoverflow,虽然我发现它有点令人困惑,但我以为我理解它,但它似乎没有像我想的那样工作.

所以我在这里有一个repo,顶级的特定目录叫做"images",我想排除它.这是我放在我的.gitignore文件中的内容:

images/
Run Code Online (Sandbox Code Playgroud)

我添加并承诺了一切,一切都很好,它忽略了顶层的图像导演.但后来我意识到它也忽略了论坛/图像.那是什么交易?如何处理忽略特定目录,而不是其他任何具有相同名称的目录?

git ignore repository gitignore

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