У меня проблема с управляющим контроллером с угловым. У меня есть главный контроллер AlkeTypeDefListController, из которого я хочу, чтобы динамически создать/удалить контроллеры типа AlkeTypeDefController, так что я сделал это:Создание и инициализация контроллера в AngularJS
Код AlkeTypeDefListController:
// Create main controller
Alke.controller('AlkeTypeDefListController', ['$scope', '$controller', function($scope, $controller)
{
var primitives =
[
];
// Add some properties to the scope
angular.extend($scope,
{
typedefs : primitives,
addTypeDef : function()
{
var controller = $controller("AlkeTypeDefController", {$scope:$scope.$new()});
$scope.typedefs.push(controller);
}
});
}]);
Кодекс AlkeTypeDefController:
// Create main controller
Alke.controller('AlkeTypeDefController', ['$scope', '$controller', function($scope, $controller)
{
// Add some properties to the scope
angular.extend($scope,
{
name : "New Type",
fields : [],
addField : function()
{
}
});
}]);
HTML-код это один:
<div id="typedefs-editor" ng:controller="AlkeTypeDefListController">
<button ng:click="addTypeDef()">Add</button>
<button>Remove</button>
<div id="typedef-list">
<ul class="list">
<li ng:repeat="typedef in typedefs"><a href="#">{{typedef.name}}</a></li>
</ul>
</div>
</div>
Проблема на самом деле не происходят из конкретизации (который прекрасно работает), но от инициализации. Фактически, когда появляется новое «li», когда я нажимаю кнопку «Добавить», текст «Новый тип» (инициализированный в контроллере) не появляется.
Я думаю, что речь идет о сфере действия или что-то в этом роде, но я не могу найти, как это исправить.
Я хотел знать, правильный ли этот метод, и как я могу исправить проблему, которую я имею.
Благодаря