我是角色版本迁移之后的角色和即将面临的问题。我们从版本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&#39;有关的事情不正确。这里发生的是,&#39; status&#39;仅限第一个跨度的绑定。请分享您宝贵的意见和建议。
答案 0 :(得分:0)
@Navin你可以像范围一样检查它[&#34; config&#34;]。输入并看看??