мне нужно получить доступ к данным формы (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>
Добавить $ scope.name = «Ваше имя» в контроллере –
эй @MarcusH, который работает в локальной области внутри form1.tpl.html но не на контроллере –
Не понимаю этот вопрос. У вас есть родительский контроллер DynamicFormCtrl? И вы хотите получить доступ к охвату родителей из DynamicFormCtrl? –