2014-12-07 52 views
0

HTML代碼角隔離範圍在鏈路功能工作

<grid-table table-rows="educationBoards"></grid-table> 

角控制器

angular.controller('gridController', function($scope){ 
    $scope.educationBoards = [{eid = 1, ename = "dhaka"}]; 
}) 

角指令

angular.directive('gridTable', functions(){ 
    restrict: 'E', 
    scope: {rows: '=tableRows'}; 
    link: function(scope){ 
    console.log(scope.rows); // shows undefined 
    } 
}) 

指令分離範圍中鏈接功能不工作。爲什麼?

回答

2

你有一堆問題在這裏。

首先,在控制器的對象misdefined:

$scope.educationBoards = [{eid = 1, ename = "dhaka"}]; 

應該是:

$scope.educationBoards = [{eid : 1, ename : "dhaka"}]; 

其次,你的功能misdefined:

angular.directive('gridTable', functions(){ 

應該是:

angular.directive('gridTable', function(){ 

第三,你有一個分號,而不是逗號的指令對象的中間:

scope: {rows: '=tableRows'}: 

應該是:

scope: {rows: '=tableRows'}, 

第四,你需要回報對象從指令,所以:


angular.directive('gridTable', functions(){ 
    restrict: 'E', 
    scope: {rows: '=tableRows'}; 
    link: function(scope){ 
    console.log(scope.rows); // shows undefined 
    } 
}) 

應該是:


angular.directive('gridTable', function(){ 
    return { 
    restrict: 'E', 
    scope: {rows: '=tableRows'}, 
    link: function(scope){ 
     console.log(scope.rows); 
    } 
    }; 
}) 

現在它會工作。這裏是一個小提琴:http://jsfiddle.net/tkkfqkaz/

+0

我看到它在小提琴的作品。但它不適用於我的指令。這裏是github鏈接:https://github.com/MahediSabuj/University/blob/master/Application/University.Web/Scripts/Application/Directives/GridTable.js – 2014-12-07 18:47:01

+0

看看你是否可以隔離它失去它的地方。 – deitch 2014-12-07 19:21:51