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'不正確。這裏發生的是,'狀態'只能綁定第一個跨度。請分享您寶貴的想法和建議。