@acaprojects/a2-composer 中文文档教程
Angular 2 - Composer Library
注意:您可以创建自己的组件,这些组件是为您的应用程序定制的。 Composer
完成所有繁重的工作,为应用程序集成提供最大的灵活性。
Directives
Binding
binding
属性可以附加到任何元素以管理设备属性的数据。
Name | Binding | Direction | Valid Types | Description |
---|---|---|---|---|
value | Two-way | Read & Write | String | Value of the bound. Updates when servers value is changed. |
sys | One-way | Write-only | String | Identifier of the system to connect |
mod | One-way | Write-only | String | Identifier of the module in the system to use e.g. Display |
index | One-way | Write-only | Number | Index of the module in the system. Default: 1 |
bind | One-way | Write-only | String | Name of the variable in module to bind |
exec | One-way | Write-only | String | Name of the function to execute on the server when the binding value changes. If undefined no function call will occur. If defined as empty function name will be bind value |
params | One-way | Write-only | Any[] | Array parameters to pass into the function on the server. Defaults to value |
Debug
debug
属性可以附加到任何元素以获取日志信息所选设备。
< /div>
Name | Binding | Direction | Valid Types | Description |
---|---|---|---|---|
output | Two-way | Read & Write | String | Array of Debugging messsages on set module |
sys | One-way | Write-only | String | Identifier of the system to connect |
mod | One-way | Write-only | String | Identifier of the module in the system to use e.g. Display |
index | One-way | Write-only | Number | Index of the module in the system. Default: 1 |
enable | One-way | Write-only | String | Enables debugging. Output will not update if false |
Services
System Service
系统服务执行绑定上的所有交互。
通过此服务设置身份验证详细信息。
Resources Service
资源服务用于使访问 Control API 变得简单。
Usage in Web Workers
在 web worker 中运行 Angular 2 会限制对某些全局范围变量的访问。 由于 auth 需要本地和会话存储才能正常运行,因此您需要在您的应用程序中注册一个 Message Broker,以便 auth 可以运行。
下面给出了如何注册此消息代理的示例。
import {WORKER_UI_LOCATION_PROVIDERS, bootstrapWorkerUi} from '@angular/platform-webworker';
import { DataStoreBroker } from '@aca-1/a2-composer';
bootstrapWorkerUi('webworker.bundle.js', WORKER_UI_LOCATION_PROVIDERS).then((ref) => {
let broker = new DataStoreBroker(ref);
});
您还需要将 DataStoreWorkerService 添加到根模块,以便工作人员与代理进行通信。
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { RouterModule } from '@angular/router';
import { WorkerAppModule, WORKER_APP_LOCATION_PROVIDERS } from '@angular/platform-webworker';
import { ACA_COMPOSER_MODULE, DataStoreService, DataStoreWorkerService } from '@acaprojects/a2-composer';
@NgModule({
bootstrap: [ AppComponent ],
declarations: [
...
],
imports: [
WorkerAppModule,
FormsModule,
HttpModule,
RouterModule.forRoot(ROUTES, { useHash: true }),
ACA_COMPOSER_MODULE
],
providers: [
...
WORKER_APP_LOCATION_PROVIDERS,
{ provide: DataStoreService, useClass: DataStoreWorkerService }
]
})
export class AppModule {
}
License
麻省理工学院 © Alex Sorafumo
Angular 2 - Composer Library
Note:: You can create your own components that are customised for your application. Composer
does all the heavy lifting allowing maximum flexibility for app integration.
Directives
Binding
The binding
attribute can be attached to any element to manage the data for a device property.
<div binding [(value)]="value" [sys]="'sys-B0'" [mod]="module" [index]="2" [bind]="'power'" exec="switch" [params]="[value, value1, value2]"></div>
Name | Binding | Direction | Valid Types | Description |
---|---|---|---|---|
value | Two-way | Read & Write | String | Value of the bound. Updates when servers value is changed. |
sys | One-way | Write-only | String | Identifier of the system to connect |
mod | One-way | Write-only | String | Identifier of the module in the system to use e.g. Display |
index | One-way | Write-only | Number | Index of the module in the system. Default: 1 |
bind | One-way | Write-only | String | Name of the variable in module to bind |
exec | One-way | Write-only | String | Name of the function to execute on the server when the binding value changes. If undefined no function call will occur. If defined as empty function name will be bind value |
params | One-way | Write-only | Any[] | Array parameters to pass into the function on the server. Defaults to value |
Debug
The debug
attribute can be attached to any element to get logging information for the selected device.
<div debug [(output)]="value" [sys]="'sys-B0'" [mod]="module" [index]="2" enabled="true"></div>
Name | Binding | Direction | Valid Types | Description |
---|---|---|---|---|
output | Two-way | Read & Write | String | Array of Debugging messsages on set module |
sys | One-way | Write-only | String | Identifier of the system to connect |
mod | One-way | Write-only | String | Identifier of the module in the system to use e.g. Display |
index | One-way | Write-only | Number | Index of the module in the system. Default: 1 |
enable | One-way | Write-only | String | Enables debugging. Output will not update if false |
Services
System Service
The systems service performs all the interactions on bindings.
Authentication details are setup through this service.
Resources Service
The resources service is used to make accessing Control API simple.
Usage in Web Workers
Running Angular 2 in web worker limits the access to certain global scope variables. As the auth needs local and session storage to operate correctly you will need to register a Message Broker in you app so that the auth can operate.
An example of how to register this message broker is given below.
import {WORKER_UI_LOCATION_PROVIDERS, bootstrapWorkerUi} from '@angular/platform-webworker';
import { DataStoreBroker } from '@aca-1/a2-composer';
bootstrapWorkerUi('webworker.bundle.js', WORKER_UI_LOCATION_PROVIDERS).then((ref) => {
let broker = new DataStoreBroker(ref);
});
You also need to add the DataStoreWorkerService to root module so that the worker communcates with the broker.
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { RouterModule } from '@angular/router';
import { WorkerAppModule, WORKER_APP_LOCATION_PROVIDERS } from '@angular/platform-webworker';
import { ACA_COMPOSER_MODULE, DataStoreService, DataStoreWorkerService } from '@acaprojects/a2-composer';
@NgModule({
bootstrap: [ AppComponent ],
declarations: [
...
],
imports: [
WorkerAppModule,
FormsModule,
HttpModule,
RouterModule.forRoot(ROUTES, { useHash: true }),
ACA_COMPOSER_MODULE
],
providers: [
...
WORKER_APP_LOCATION_PROVIDERS,
{ provide: DataStoreService, useClass: DataStoreWorkerService }
]
})
export class AppModule {
}
License
MIT © Alex Sorafumo