小编Tho*_*ter的帖子

AngularJS表单验证指令$ setValidity元素

我正在尝试使用$setValidity指令中的元素.我发现的所有例子似乎都将它设置在控制器上......

我在Form Validation上分享了一个JS小提琴,并尝试了很多东西.任何见解都将是最受欢迎的:http: //jsfiddle.net/thomporter/pmKpG/2/

在小提琴中,$setValidity在控制器上调用:

ctrl.$setValidity('pwd', true);
Run Code Online (Sandbox Code Playgroud)

我想做点什么:

elm.$setValidity('pwd', true);
Run Code Online (Sandbox Code Playgroud)

所以在形式上我可以做类似的事情:

ng-class="{error:form.password.$error.pwd}"
Run Code Online (Sandbox Code Playgroud)

angularjs angularjs-directive

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

如何使用 CSS 强制执行绝对定位和行高?

我创建了一个 jQuery Sliding Drilldown 插件,它运行得很好,除了一个部分:箭头的位置。如果我更改它们所包含的元素的字体大小/行高,它们就会移动,这对我来说没有意义。谁能告诉我为什么?行高实际上会影响元素中 0,0 的位置吗?还是我还缺少其他事情?

而且 - 这是真正的问题 - 我可以只用 CSS做我想做的事情吗?我知道我可以使用 JavaScript 来动态定位它们,但我试图避免这种情况。

这是一个非常简单的页面上的插件:

http://thomporter.github.com/jquery-sliding-ajax-drilldown/demos/basic-plain.html

如果您愿意,您还可以查看我用来生成 CSS 的Sass ,它位于存储库中:

https://github.com/thomporter/jquery-sliding-ajax-drilldown/blob/master/src/lib/css/jquery.sliding-ajax-drilldown.scss

css jquery positioning

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

带有指令的AngularJS表单验证 - "myform.$ valid"对我来说不太合适

我已经破解了我的问题的解决方案,但我并不高兴,它对我来说并不感觉"有棱角",它增加了代码的维护.

一,表格要求:

  1. 模块化指令(所以我可以重复使用它们.)
  2. 每个字段可能有多个错误,但一次只显示一个错误,按逻辑顺序...
  3. 隐藏提交按钮,直到表单完成,而不仅仅是有效.
  4. Bootstrap主题
  5. 这是"有角度的方式".

问题是#3.我试过这个:

<div ng-show="myform.$valid">
   <input type="submit" value="Submit" />
</div>
Run Code Online (Sandbox Code Playgroud)

但是这只是在一个字段有效时立即显示提交按钮,然后在您开始下一个字段时再次隐藏它.我的"修复"是在范围上创建变量,在控制器中创建一个方法来检查它们(主要是为了保持视图干净......)但这感觉不对.

这是我的小提琴:http: //jsfiddle.net/thomporter/e3jye/

angularjs

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

metor blade模板在for循环中抛出"同一分支中的第二个地标"异常

我有一个for循环,我想在其中包含一个模板视图:

table.blade:

#game
    h1= table.name 
        -if( table.playerSitting() )
            a.btn.btn-danger.stand(href="#") Stand
    #table
        -for (var i=0; i<7;i++)
            include 'seat' exposing i
Run Code Online (Sandbox Code Playgroud)

seat.blade:

- id = 'p' + (i+1)
    div(id="#{id}")
        -if (table.hasAt(i))
            p= table.usernameAt(i)
        -else
            -if( !table.playerSitting() )
                a.btn.btn-inverse.sit(href="#", data-key="#{i}") Sit
            -else
                p &nbsp;
Run Code Online (Sandbox Code Playgroud)

当我第一次加载视图时,一切都很好.但如果我坐下或站着,或去另一张桌子,我会得到这个:

Exception from Deps recompute: Error: Can't create second landmark in same branch
    at /home/thomporter/meteor/blackjack/views/table.blade:8:4

 6 |        #table
 7 |            -for (var i=0; i<7;i++)
 8 >                include 'seat' exposing i
 9 |    
10 |    
Run Code Online (Sandbox Code Playgroud)

我想我可以通过创建一个存储用户ID和表ID的"席位"集合来解决这个问题,但这看起来很愚蠢.我目前正在使用名为"players"的表的数组属性,每个座位的索引为0-6 ......至少,这就是主意.=)

我还应该提到我用以下内容替换了seat.blade:

p hi …
Run Code Online (Sandbox Code Playgroud)

meteor blade node-blade meteorite

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