亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

angular.js - ng-repeat嵌套的directive link函數未執行

瀏覽:223日期:2024-09-25 15:34:07

問題描述

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

初始化的時候,可以走到link函數中將原數據處理之后再做顯示angular.js - ng-repeat嵌套的directive  link函數未執行

當點擊刷新之后angular.js - ng-repeat嵌套的directive  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>

問題解答

回答1:

我說一下我的觀點,但不一定正確。

原因應該是你在ng-repeat上的 track by 語法造成的.

官方文檔中說ngRepeat是根據$watchCollection檢測相應的viewModel是不是改變過,增加了track by 后相當于對這個檢測機制附加了新的條件,當你第二次點擊刷新的時候,ngRepeat根據track by的條件得到的判斷其實是不需要重新渲染Dom的,所以就不會再次compile你定義的指令,而link方法是在compile之后才會調用的,所以無法調用到link方法。

compile 和 link 的分析:傳送門

相關文章:
主站蜘蛛池模板: 亚州三级视频 | 国产一级片儿 | 亚洲一区二区三区四区 | 色系视频在线观看免费观看 | xxxxx大片在线观看 | 女人182毛片a级毛片 | 女人牲交视频一级毛片 | 久青草国产观看在线视频 | 中文精品久久久久国产网站 | 97r久久精品国产99国产精 | 在线看精品 | 成人啪啪97丁香 | 国产精品视频免费播放 | 国产亚洲精品观看91在线 | 精品人成 | 精品欧美一区二区三区四区 | 亚洲高清在线观看播放 | 亚洲视频高清 | 香蕉片视频在线观看 | 亚洲综合一区二区不卡 | 日韩一级免费视频 | 欧美亚洲中日韩中文字幕在线 | 丁香综合网 | 日韩免费视频网站 | 色护士影院 | 中文字幕乱码一区三区免费 | 国产剧情演绎在线 | 黄色片免费在线观看 | 欧美日韩在线观看区一二 | 99re这里有免费视频精品 | 韩国尤物主播性视频在线播放 | 99九九精品| 亚洲三级网址 | 狠狠色噜噜狠狠狠97影音先锋 | 人做人爱视频欧美在线观看 | 手机看片欧美 | 欧美亚洲国产精品久久久 | 丁香六月婷婷在线 | 免费免费啪视频在线 | 女人国产香蕉久久精品 | 国产精品成人亚洲 |