【发布时间】:2016-05-11 15:12:27
【问题描述】:
我正在学习将 Angular 与 ES2015(使用 webpack)一起使用,并且在使用这些功能时遇到了问题。我似乎找不到我所缺少的东西,所以也许你们中的一个人可以指引我正确的方向。
目前我只是尝试将控制器绑定到返回模拟数据的服务。
猫服务
catData.js 只返回一个 cat 对象的模拟数组
import {cats} from './catsData.js';
export default class catService {
getData() {
return Promise.resolve(cats);
}
}
猫控制器
export default class CatController {
constructor(catService) {
this._catService = catService;
this.cats = [];
this.activate();
}
activate() {
this.getData();
}
getData() {
this._catService.getData().then(cats=> {this.cats= cats;});
}
}
app.js
我在哪里引导它
import angular from 'angular';
const app = angular.module('catApp', []);
import catController from './catController.js';
import catService from './catService.js';
app
.controller('catController', catController)
.service('catService', catService);
简单测试视图
<body ng-app="catApp">
<div class="container" ng-controller="catController as vm>
<ul>
<li ng-repeat="cat in vm.cats">
<div class="well">
{{cat.name}}
{{cat.age}}
</div>
</li>
</ul>
</div>
<script src="bundle.js"></script>
</body>
我想澄清一下,在我在 catService 上使用 Promise.resolve 之前,我同步返回了数据并且一切正常。现在,猫的列表没有出现(也没有控制台错误)
【问题讨论】:
-
请使用 Plunker 或 jsFiddle。
标签: angularjs ecmascript-6 webpack