繁体   English   中英

Aurelia的角度服务?

[英]Angular Service in Aurelia?

我还没有找到详细介绍如何从Angular 1.x迁移到Aurelia的文档。 到目前为止,我只看到人们详细介绍了如何使用@customElement在Aurelia中重新创建Angular directive的概念。 好的,很简单。 但这些例子总是只是模拟数据。

也就是说,Angular Services是可以注入任何控制器/指令/服务的单例,通常允许从服务器(即PersonServiceOrdersService )获取数据。

但这些data services如何在Aurelia建模? 一切都只是一个阶级? 看起来好像

本质上,我将看到一些代码示例,一个hello-world ,它可以有效地从服务中获取数据,并将其提供给@customElement HTTP调用在哪里? 我们如何进行HTTP调用? Angular使用$http ,Aurelia怎么样?

编辑

这是一个简单的角度服务。 怎么会在奥里利亚攻击这个?

app.service('SomeDataService', function () {
    return {
        getMyData: function (options) {
            return $.ajax(options);
        }
    }
});

是的ES6 / ES7课程。 您的数据服务没有框架入侵。

我的数据,service.js

import {HttpClient} from 'aurelia-http-client'; // or 'aurelia-fetch-client' if you want to use fetch
import {inject} from 'aurelia-framework';

@inject(HttpClient)
export class MyDataService {
  constructor(http) {
    this.http = http;
  }

  getMyData() {
    return this.http.get(someUrl);
  }
}

花式定制element.js

import {MyDataService} from './my-data-service';
import {inject} from 'aurelia-framework';

@inject(MyDataService) // aurelia's dependency injection container will inject the same MyDataService instance into each instance of FancyCustomElement
export class FancyCustomElement {
  data = null;

  constructor(dataService) {
    this.dataService = dataService;
  }

  // perhaps a button click is bound to this method:
  loadTheData() {
    this.dataService.getMyData()
      .then(data => this.data = data);
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM