2014-10-30 58 views
0

我有指令和patricular範圍變量(mySelections_class_list)一個HTML模板:伍模型在指令不改變親本範圍在控制器

<pre>{{mySelections_class_list|json}}</pre> 
<ng-data-grid cells="columnDefsClassList" rows="class_list" my-selections="mySelections_class_list" lang="lang"></ng-data-grid> 

我有一個指令,這是指令的代碼:

directives.directive('ngDataGrid', ['$rootScope','$location', '$hotkey','$timeout', function($rootScope, $location, $hotkey,$timeout){ 
      return { 
       transclude: true, 
       restrict: "EAC", 
       templateUrl: 'templates/panels/ng-data-grid.html', 
       scope: { 
        cells: "=", 
        rows: "=", 
        item: "=", 
        mySelections: "=", 
        lang: '=' 
       }, 
       controller: ['$scope','$element', function($scope,$element){ 
        $scope.mySelections = 'blabla'; 
       }] 
      } 
     }]); 

和指導模板,在那裏我有NG-型號:

 <table kb-list ng-model="mySelections" class="data-grid"> 
.... 
     </table> 

但是,當我公頃d在指令mySelections_class_list中更改,在我的父控制器中它不會改變!但在模板中,我看到了變化!

所以...在模板工作中...但在父控制器:console.debug($ scope.mySelections_class_list)沒有任何改變!爲什麼!?

感謝您的幫助!

回答

1

嘗試把父作用域的變量的一些對象中:

$scope.model = {}; 
$scope.model.columnDefsClassList = <someValue>; 
$scope.model.class_list = <someValue>; 
$scope.model.mySelections_class_list = <someValue>; 
$scope.model.lang = <someValue>; 

<ng-data-grid cells="model.columnDefsClassList" rows="model.class_list" my-selections="model.mySelections_class_list" lang="model.lang"></ng-data-grid> 

看到解釋here

+0

謝謝!是工作! – user3774629 2014-10-30 12:41:14

0

我一直在擺弄了一下週圍,我不知道從哪裏你的具體問題是從未來一個精簡的jsfiddle和角1.3-RC5

<div ng-controller="MyCtrl"></div> 

和定義MyCtrl爲空的功能,它按預期方式工作: http://jsfiddle.net/HB7LU/7769/

此外,您應該使用自己的名稱空間,ng保留用於角度指令。

希望能幫到:)

相關問題