cari

Rumah  >  Soal Jawab  >  teks badan

angular.js - ng-repeat嵌套的directive link函数未执行

http://codepen.io/whb/pen/wzjWYv

初始化的时候,可以走到link函数中将原数据处理之后再做显示

当点击刷新之后

实在无法理解 当ng-repeat中数据刷新之后 嵌套的directive未执行link函数,跪求各位大神指导

代码如下:

(function() {
  'use strict';
  var app = angular.module('plunker', []);
  app.controller('MainCtrl', function($scope) {
    $scope.list = [{
      name: "张三",
      age: 23
    }, {
      name: "李四",
      age: 63
    }];
    //刷新按钮
    $scope.load = function() {
      $scope.list = [{
        name: "张三1",
        age: 23
      }, {
        name: "李四1",
        age: 63
      }];
    };
  });
  app.directive('item', function() {
    return {
      restrict: 'A',
      template: "<p>姓名:</p>  <p>{{ item.name }}</p>  <p>昵称:</p>  <p>{{ item.nickName }}</p>  <p>年龄:</p>  <p>{{item.age}}</p>",
      scope: {
        item: "=",
      },
      link: function(scope, element, attrs) {
        scope.item.nickName = scope.item.name + "nick";
        console.log(scope.item);
      }
    }
  });
})();
<p ng-app="plunker">
  <p ng-controller="MainCtrl"  style="text-align: center;">
    <p >
      <p ng-repeat="item in list track by $index" class="items-warp">
        <p item="item" class="row"></p>
      </p>
    </p>
    <button ng-click="load()">刷新 </button>
  </p>
</p>
怪我咯怪我咯2744 hari yang lalu556

membalas semua(1)saya akan balas

  • 为情所困

    为情所困2017-05-15 17:09:38

    Saya akan beritahu pendapat saya, tetapi mungkin tidak betul.

    Sebabnya harus disebabkan oleh trek anda oleh sintaks pada ng-repeat.

    Dokumen rasmi mengatakan bahawa ngRepeat mengesan sama ada viewModel yang sepadan telah berubah berdasarkan $watchCollection Menambahkan runut oleh adalah bersamaan dengan melampirkan syarat baharu pada mekanisme pengesanan ini Apabila anda mengklik muat semula untuk kali kedua, ngRepeat mengesan sama ada viewModel yang sepadan telah berubah berdasarkan on track by. Pertimbangan yang diperoleh daripada syarat sebenarnya tidak memerlukan pemaparan semula Dom, jadi arahan yang anda tentukan tidak akan disusun lagi Kaedah pautan hanya dipanggil selepas penyusunan, jadi kaedah pautan tidak boleh dipanggil.

    Analisis penyusunan dan pautan: portal

    balas
    0
  • Batalbalas