Ошибка щелчка мышью (угловой дротик)

Я новичок в этом языке и этой среде, я сделал приложение для командной строки, и оно отлично работает, и теперь я хочу сделать очень простой веб-интерфейс

У меня есть это в моем.html

<body ng-app>
.
.
.
<input type="submit" ng-click="doSomething()">

В моем.dart

import 'dart:html';
import 'package:angular/angular.dart';
import 'package:angular/application_factory.dart';
.
.
.
void doSomething(){
lotToDo;
}

И я получаю это

Property 'doSomething' is not of type function.

Какой смысл ошибки? Нужно ли использовать контроллер?

Спасибо всем!

1 ответ

Решение

Вам нужен контроллер, который содержит doSomething() метод.

См. Например, https://github.com/angular/angular.dart.tutorial/blob/master/Chapter_03/lib/recipe_book.dart.

index.html имеет тег <body recipe-book> тег. Angular применяет контроллер, объявленный в recipe_book.dart здесь, потому что этот контроллер имеет селектор selector: '[recipe-book]' назначен, который является тегом, который имеет атрибут recipe-book,

Вам также нужно инициализировать модуль, чтобы Angular знал об этом контроллере.

library recipe_book;

import 'package:angular/angular.dart';
import 'package:angular/application_factory.dart';

import 'package:angular_dart_demo/rating/rating_component.dart';
import 'package:angular_dart_demo/recipe_book.dart';

class MyAppModule extends Module {
  MyAppModule() {
    type(RecipeBookController); // register controller in a module
    type(RatingComponent);      // register some other component
  }
}

void main() {
  applicationFactory()
      .addModule(new MyAppModule()) // tell angular to use the modul declared above
      .run();
}

Мой совет: проработайте этот урок, прежде чем пробовать случайные вещи https://angulardart.org/tutorial/

Другие вопросы по тегам