Я использую AngularJS с TypeScript, и теперь мне нужно передать параметр из представления в контроллер. Это так, как я пытаюсь это сделать (с помощью нг-INIT):Angular + TypeScript - передать параметр из представления в контроллер
<div class="col-md-9" ng-controller="MapIZSController" ng-init="init('IZS')">
"IZS"
значение должно быть передано в контроллер. Контроллер выглядит следующим образом:
export class MapIZSController
{
static $inject = ["$scope", "leafletData"];
private m_scope: IMapIZSScope;
private m_leafletData;
constructor($scope: IMapIZSScope, leafletData)
{
// the first way I tried
$scope.init = function (type) {
console.log("type is: " + type);
};
// the second way I tried
$scope.init = this.init;
}
public init = (init: any) => {
console.log("init is: " + init)
}
Моя проблема заключается в том, что я хотел бы получить тип, но
- первый путь никогда не вызывается и
- второй тоже.
Можете ли вы дать мне несколько советов, пожалуйста?
это * может * работать, но это не [предполагаемое использование для 'ng-init'] (https://docs.angularjs.org/api/ng/directive/ngInit). «В эту директиву можно злоупотреблять, чтобы добавить ненужные суммы логики в ваши шаблоны. Существует только несколько подходящих применений' ngInit', например, для сглаживания специальных свойств 'ngRepeat' ...». 'ng-init' - это директива с приоритетом, которая означает, что она не может выполняться в ожидаемом порядке, и вы можете полагаться на данные, которые еще не были доступны. – Claies