2016-04-20 6 views
1

Я использую форму угловой схемы для создания формы с помощью схемы JSON Я хочу показать текстовое поле электронной почты, когда пользователь вводит строку abc, однако текстовое поле электронной почты никогда не появляется после ввода abc. Я думаю, что проблема находится в области с именем переменной или в Условие: «name == 'abc'" Можете ли вы дать мне руку? есть кодУсловие формы угловой схемы

HTML

<html ng-app="myApp"> 
    <head> 
    <title>TODO supply a title</title> 
    <meta charset="UTF-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    <script src="bower_components/angular/angular.js" type="text/javascript"></script> 
    <script src="bower_components/angular-sanitize/angular-sanitize.js" type="text/javascript"></script> 
    <script src="bower_components/tv4/tv4.js" type="text/javascript"></script> 
    <script src="bower_components/objectpath/lib/ObjectPath.js" type="text/javascript"></script> 
    <script src="bower_components/angular-schema-form/dist/schema-form.js" type="text/javascript"></script> 
    <script src="bower_components/angular-schema-form/dist/bootstrap-decorator.js" type="text/javascript"></script> 
    <script src="js/app.js" type="text/javascript"></script> 
    </head> 
    <body ng-controller="myCtrl"> 
    <form sf-schema="schema" sf-form="form" sf-model="model"></form> 
    </body> 
</html> 

app.js

var myApp = angular.module("myApp", ['schemaForm']); 
myApp.controller("myCtrl", function ($scope) { 
    $scope.schema = { 
     "type": "object", 
     "title": "Comment", 
     "properties": { 
      "name": { 
       "title": "Name", 
       "type": "string" 
      }, 
      "email": { 
       "title": "Email", 
       "type": "string" 
      } 
     } 

    }; 

    $scope.form = [ 
     "name", 
     {key: "email", 
      condition: "name=='abc'" 
     }, 
     { 
      "type": "submit", 
      "style": "btn-info", 
      "title": "OK" 
     } 
    ]; 
    $scope.model = {}; 
}); 

ответ

1

В docs вы можете видеть, что вы не можете использовать имя непосредственно, как условие работы с чем-либо в объеме, не просто модель. Таким образом, замена «name» на «model.name ==» abc », например, будет работать. См. Мой example here.