0

мне нужно получить доступ к данным формы (ng-model="name") в родительского контроллераDynamicFormCtrl. Как получить доступ к вводу данных в форме в DynamicFormCtrl. Я не понимаю, как получить доступ к ним. Хотя доступ к данным можно получить в их собственных областях.Необходимость доступа сферы в нг-включают директиву

<body ng-app="exampleApp" ng-controller="DynamicFormCtrl as ctrl"> 
     <div> 

    <button ng-click="ctrl.addForm(0)">Form One</button> //add form1 
    <button ng-click="ctrl.addForm(1)">Form Two</button> //add form 2 
    <button ng-click="ctrl.addForm(2)">Form Three</button>// add form 3 
    </div> 


    <div ng-repeat="form in ctrl.displayedForms track by $index"> //display form on button press 



    <ng-include src="form"></ng-include> //Include from from the Script 
    </div> 

    <script type="text/ng-template" id="form1.tpl.html"> 
    <label> 
    {{name}} 
     Form one is an input: <input type="text" ng-model="name"/> 
    </label> 
    </script> 

    <script type="text/ng-template" id="form2.tpl.html"> 
    <label> 
     Form two gives you choices: <input type="radio"/> <input type="radio"/> 
    </label> 
    </script> 

    <script type="text/ng-template" id="form3.tpl.html"> 
    <button>Form three is a button</button> 
    </script> 
    <script type="text/javascript"> 
    angular.module("exampleApp", []) 
    .controller("DynamicFormCtrl", function($scope) { 
    var ctrl = this; 
    $scope.form_name = $scope.name; 
    console.log($scope.form_name); 

    var forms = [ 
     "form1.tpl.html", 
     "form2.tpl.html", 
     "form3.tpl.html", 
    ]; 

    ctrl.displayedForms = []; 

    ctrl.addForm = function(formIndex) { 
     ctrl.displayedForms.push(forms[formIndex]); 
    } 
    }); 
    </script> 
</body> 
+0

Добавить $ scope.name = «Ваше имя» в контроллере –

+0

эй @MarcusH, который работает в локальной области внутри form1.tpl.html но не на контроллере –

+0

Не понимаю этот вопрос. У вас есть родительский контроллер DynamicFormCtrl? И вы хотите получить доступ к охвату родителей из DynamicFormCtrl? –

ответ

1

Как вы используете контроллер-синтаксис, как вы должны использовать ctrl.name в поле

<input type="text" ng-model="ctrl.name"/> 

ввода В контроллере, то вы можете использовать вход с помощью ctrl.name

Вам также не нужно вводить область действия, поскольку вы используете синтаксис контроллера.

Для дальнейшего чтения на контроллер-я рекомендую https://github.com/johnpapa/angular-styleguide/blob/master/a1/README.md

 Смежные вопросы

  • Нет связанных вопросов^_^