渲染后访问ng-view内的元素

时间:2014-02-28 18:52:17

标签: angularjs

从路径加载部分后,是否有任何方法可以访问在ng-view内写入的元素(在渲染完成时加载js或脚本)?

我已经尝试过使用jquery但是当/ jQuery运行时,元素和数据尚未呈现。

请参阅以下示例:

部分HTML文件

<ul id="items">
    <li ng-repeat="item in data.items" id="data">
      <a>{{data.element}}</a>
      <a href="" class="edit"><span class="icon icon-edit"></span>edit item</a>
    </li>
</ul>

ng-view路由到部分文件

function(routeProvider, locationProvider) {
  routeProvider.when('/showData', {
    templateUrl: '/partials/partial.html',
    controller: 'Controller',
    resolve: {
      data: [
        'dataHandler',
        function (dataHandler) {
          return dataHandler.requestData();
        }
      ]
    }
  }).otherwise({
    redirectTo: '/showData'
  });

  locationProvider.html5Mode(true);
};

具有必须访问渲染数据的脚本的控制器

function (scope, data) {
  scope.data = data;
  $("#items").find('.edit') // returns an empty jQuery because ng-repeat directive builds DOM elements after this controller.
};

0 个答案:

没有答案