我正在努力学习Angular 2的开发,所以请原谅基本问题。我使用Angular-full-stack(https://github.com/angular-fullstack/generator-angular-fullstack)生成一个骨架应用程序。除其他外,它在client / app / main中预生成5个文件:main.controller.js,main.controller.spec.js,main.html,main.js,main.scss
main.controller.js
'use strict';
(function() {
class MainController {
constructor($http) {
this.$http = $http;
this.awesomeThings = [];
}
$onInit() {
this.$http.get('/api/things')
.then(response => {
this.awesomeThings = response.data;
});
}
addThing() {
if (this.newThing) {
this.$http.post('/api/things', {
name: this.newThing
});
this.newThing = '';
}
}
deleteThing(thing) {
this.$http.delete('/api/things/' + thing._id);
}
}
angular.module('orbitApp')
.component('main', {
templateUrl: 'app/main/main.html',
controller: MainController
});
})();
有一个构造函数和一些已经预定义的方法。但是,尝试访问这些或我从main.html添加的任何其他内容都不起作用:
main.html中
...
<button onclick="deleteThing()">Test: deletething</button>
...
单击该按钮会出现以下控制台错误: &#34;未捕获的ReferenceError:未定义deleteThing&#34;
如何或以何种方式添加他/她自己的方法以便可以访问它们?那么,什么应该进入main.js?
答案 0 :(得分:2)
<button (click)="deleteThing()">Test: deletething</button>