我从node.js服务器获取数据时遇到问题.
客户端是:
public getTestLines() : Observable<TestLine[]> {
let headers = new Headers({ 'Access-Control-Allow-Origin': '*' });
let options = new RequestOptions({ headers: headers });
return this.http.get('http://localhost:3003/get_testlines', options)
.map((res:Response) => res.json())
.catch((error:any) => Observable.throw(error.json().error || 'Server error'));
}
Run Code Online (Sandbox Code Playgroud)
在服务器端我也设置了标题:
resp.setHeader('Access-Control-Allow-Origin','*')
resp.send(JSON.stringify(results))
Run Code Online (Sandbox Code Playgroud)
但是我收到了一个错误
"XMLHttpRequest无法加载http:// localhost:3003/get_testlines.对预检请求的响应未通过访问控制检查:请求的资源上没有'Access-Control-Allow-Origin'标头.来源' http://因此不允许localhost:3000 '访问."
我该如何解决?当我删除标题时,它表示此标题是必需的.
我想创建一个模态(对话框).我已经按照官方bootstrap文档的例子,但我卡住了.当我尝试创建模态时,我收到一个错误
angular.min.js:122可能未处理的拒绝:{}
mainController:
angular
.module('app')
.controller('tlmController', function($scope, $http, $timeout, $uibModal, DTOptionsBuilder, DataLoader, TestLines) {
$scope.openTestLineDetails = function(id) {
var modalInstance = $uibModal.open({
size: 'lg',
controller: 'testlineDetailsController',
templateUrl: 'app/client/layout/testlinedetails.tpl.html',
resolve: {
testLineId: function() {
return id;
}
}
});
};
})
Run Code Online (Sandbox Code Playgroud)
和TestlineDetailsController:
angular
.module('app')
.controller('testlineDetailsController', function($scope, $modalInstance, testLineId) {
});
Run Code Online (Sandbox Code Playgroud)
这段代码有什么问题?我在主控制器中使用$ uibModal($ modal服务不存在).当我用$ uibModalInstance替换$ modalInstance时我也收到一个错误(service $ uibModalInstance不存在),所以我必须在$ modalInstance中使用$ uibModal.Strage但是真的.
我对Android Studio SDK有一个奇怪的问题.我试图下载一些组件,当下载进度达到100%时,我收到一个错误:
Preparing "Install Google Repository".
Downloading https://dl.google.com/android/repository/google_m2repository_gms_v8_rc42_wear_2a3.zip
An error occurred while preparing SDK package Google Repository: Cannot download 'https://dl.google.com/android/repository/google_m2repository_gms_v8_rc42_wear_2a3.zip': Read timed out
, response: 200 OK.
"Install Google Repository" failed.
Preparing "Install Android Support Repository".
Downloading https://dl.google.com/android/repository/android_m2repository_r40.zip
An error occurred while preparing SDK package Android Support Repository: Cannot download 'https://dl.google.com/android/repository/android_m2repository_r40.zip': Read timed out
, response: 200 OK.
"Install Android Support Repository" failed.
Failed packages:
- Google Repository (extras;google;m2repository)
- Android Support Repository (extras;android;m2repository)
Run Code Online (Sandbox Code Playgroud)
当我手动完成时,链接工作.
我看到对角度2的数据表的支持非常差.DataTables对我不起作用(已知未解决的问题)所以我认为我会为自己写一些简单的东西.顺便说一句,我会学到一些有用的东西.我想以这种方式构建我的表:
<my-table>
<my-table-row *ngFor="let row of rows">
<my-table-col>{{row.col1}}</my-table-col>
<my-table-col>{{row.col2}}</my-table-col>
</my-table-row>
</my-table>
Run Code Online (Sandbox Code Playgroud)
所以我创建了一个带有简单滤镜输入的组件.现在,我想过滤我的桌子.Angular应该以某种方式将my-table-col(s)中的数据分配给某个变量(也许2路数据绑定会有用吗?),然后我会使用keyup事件触发的一些函数进行过滤,数据应该自动更新但我做不知道该怎么做.
import { Component, Input, OnInit } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
@Component({
selector: 'my-table',
template: `
<div style="width: 100%">
<div style="float: left; height: 50px; width: 100%">
Search: <input type="text" [(ngModel)]="filterValue" style="height: 30px; border: 1px solid silver"/> {{filterValue}}
</div>
<div style="float: left; width: 100%">
<table>
<ng-content></ng-content>
</table>
</div>
</div>
`
})
export class MyTableComponent {
filterValue: string;
} …
Run Code Online (Sandbox Code Playgroud)