show not working based on the AngularJs version

Here i am created custom directive for show and hide particular field from json data , here my problem is angular version, in low version its working ( https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js), but high version its not supporting (https://code.angularjs.org/1.3.15/angular.js)

please check the below link http://plnkr.co/edit/h3MrWQjopbqzYa0Y5pOT?p=preview

var app = angular.module('testApp', []);

app.directive('telBasictext1', ['$http', 'telngshowservice', function($http, telngshowservice) {
  return {
    restrict: 'AEC',
    require: 'ngModel',
    scope: {
      ngModel: '=',
      placeHold: '@',
      checkId: '@',
      className: '@',
      ngmaxLength: '@',
      ngminLength: '@',
      lblvalue: '@',
      textboxSize: '@',
      lblSize: '@',
      validate: '@',
      ngShow: '@',
      textboxtype: '@',
      getString: '@',
      position: '@',
      labelPosition: '@',
      textboxPosition: '@',
      canShow: '@',
      showorhide: '@',
    },
    template: '<div   id="{{ checkId }}" class="form-group" ng-show="true"  > ' +
      '<label size="lblSize"  class="col-sm-{{ labelPosition }} control-label" id="textboxchanges">   Test </label>' +
      '<div class="col-sm-{{ textboxPosition }}"> <input type="{{ textboxtype }}" ng-model="ngModel" placeholder="{{ placeHold }}"  id="{{checkId}}"   class="{{className}}"  minlength="{{ ngminLength }}"  maxlength="{{ ngmaxLength }}"  size="{{ textboxSize }}"           ng-required="{{ validate }}" ></div></div>',

    link: function(scope, iElement, iAttrs, ngModelController) {



      var ngshow = iAttrs.canShow;
      var ngsplitValues = ngshow.split(",");
      var nglanguage = ngsplitValues[0]; // Language EN or Fr
      var nglabelName = ngsplitValues[1]; // Label Name
      var ngmoduleName = ngsplitValues[2]; // Module Name (global or local)

      telngshowservice.getdata(ngmoduleName).success(function(data) {

        scope.showorhide = data[nglabelName];
        console.log(scope.showorhide)


      })


    }
  };
}]);



app.factory('telngshowservice', ['$http', function($http) {
  var dataFactory = {};
  var lang = window.localStorage.language;
  dataFactory.getdata = function(moduleName) {

    if (moduleName == 'common') {

      return $http.get(labeli18nPath + '/translation_' + lang + '.json');
    } else {


      return $http.get('OPlayout.json');
    }
  };
  return dataFactory;
}]);

This is due to breaking changes in the $parse service in version 1.3.0-beta.14 :

core : due to bdfc9c02, values 'f', '0', 'false', 'no', 'n', '[]' are no longer treated as falsy. Only JavaScript falsy values are now treated as falsy by the expression parser; there are six of them: false, null, undefined, NaN, 0 and "".

Use booleans instead of strings:

{
    "pSearchPatient": false,
    "pAddressNo" : true,
    "pBuilding": true
}
链接地址: http://www.djcxy.com/p/77702.html

上一篇: 无法使用角度和弹簧触发有效的请求

下一篇: 根据AngularJs版本显示不工作