2016-04-06 98 views
1

角度版本移植後,角度和im正在面臨以下問題。我們從版本1.2.6遷移到版本1.4.3。以下是使用angular ver 1.2.6實現的示例代碼;角度指令不綁定與版本移植的表達式

使用角度1.2.6版本完成的代碼。

--- JSP ---

<div> 
<span call-test config="testConfig.test1" status="getStatus" value="testValue"></span>         
</div> 
. 
. 
. 
<div>       
<span call-test config="testConfig.test2" status="getStatus" value="testValue"></span> 
</div> 

--- testCtrl.js ---

$scope.testConfig = { 
    test1 : {name: "Test1", type: 0}, 
    test2 : {name: "Test2", type: 1} 
}; 
. 
. 
. 

$scope.getStatus = function(arg){ 
switch(arg) { 
     case 1 : 

      return (validate $scope.arg and return true or false); 
     case 2 : 

      return (validate $scope.arg and return true or false); 
     case 0 : 

      return (validate $scope.arg and return true or false); 
     default : 

      return false; 
    } 
} 

--- testDirective.js ----

angular.module('com.test.directives', []) 
.directive('callTest', ['$timeout', function($timeout) { 

var callTest = function(element, scope){ 

    $timeout(function(){ 
     var statusAction = scope.status(scope.config.type);// bind value only for first span. but works fine if we pass 'scope.config'. 

    }, 100); 

}; 

return { 
     restrict: 'EA', 
     scope:{ 
      config:'=', 
      status:'&'   
}, 
     link: function(scope, element, attrs) { 
      var statusAction = scope.status(); 
      scope.$watch('value', function(){ 
       callTest(element, scope); 
      }); 

     } 
    }; 
}]); 

我相信'testDirective.js'不正確。這裏發生的是,'狀態'只能綁定第一個跨度。請分享您寶貴的想法和建議。

回答

0

@Navin你可以像範圍[「配置」]類型,看看??