更新输入值后的Angular js update指令

时间:2017-01-31 05:25:58

标签: angularjs

我使用指令创建限制以仅显示数字的倍数。 该数字基于2个输入值,团队数量团体数量计算; (队/组)-1。

根据提到的限制,当用户在回合中键入无效值时,我使用css显示红色。

它最初运作正常,但当团队的值在表单中更新时,该指令不会更新。

我已尝试使用$ watch,正如我在一些答案中看到的那样,但它没有用,或者我可能不知道如何在我的情况下正确实现它。

注意:我已经定义[[]]而不是{{}}以避免与模板引擎电压冲突,它定义并正常工作,因此不是问题所在。

任何帮助将不胜感激,我的代码如下:

HTML:

    var main = function() {
      $('li').hover(function() {
        var svgimage = $(this).css("list-style-image"),
            svgUrl = svgimage.match(/url\("(.*)"\)/i)[1];
        $('.appear img').attr("src", svgUrl);
      });
    };

JS:

<div ng-app="angApp">
  <div ng-controller="DrawController">
    <form action="" name="drawForm" role="form" method="post" >

      <input id="teams" name="teams" ng-model="competition.teams" required="" ng-change="getTeams()" type="number">

      <select id="groups" name="groups" ng-options="n for n in groups track by n" ng-model="competition.groups" required="">
        <option selected="selected" value="" class="">Seleccione el número de grupos</option>
      </select>

      <input id="rounds" name="rounds" ng-model="competition.rounds" data-multiple-validator="[[competition.teams]]" data-groups="[[competition.groups]]" type="number">

    </form>
  </div>
</div>

1 个答案:

答案 0 :(得分:0)

您需要使用指令的范围选项来映射控制器的范围和指令的范围

您可以在此处参考本教程:

https://www.youtube.com/watch?v=2pLry26yUW0