ng-repeat在脚本块中不起作用

时间:2014-07-22 10:12:39

标签: angularjs kendo-ui angularjs-ng-repeat

我需要在创建ng-repeat模板时调用js函数:

<div ng-repeat="item in items">
  <input id="ip{{item.id}}">
  <script>$(function () { $('#ip{{item.id}}').kendoDatePicker(); });</script>
</div>

id会按预期更换,但角度似乎不适用于脚本标记。

1 个答案:

答案 0 :(得分:2)

这是正确的,Angular不会评估script标签中的表达式。您将需要使用一个指令来为每个元素初始化Kendo插件。

好消息是Kendo already has a module与Angular集成,所以你不妨使用它。 Here is a plunk我把它放在一个转发器中。

<div ng-repeat="item in items">
  <label for="{{item.id}}">{{item.id}}</label>
  <div>
    <input kendo-date-picker ng-model="item.value" />
  </div>
</div>

控制器:

angular.module("demo", ['kendo.directives'])
  .controller('DemoCtrl', ['$scope',
    function($scope) {
      $scope.items = [{
        id: 'item1',
        value: null
      }, {
        id: 'item2',
        value: null
      }, {
        id: 'item3',
        value: null
      }, {
        id: 'item4',
        value: null
      }];
    }
  ]);