1
我想基於在組件屬性中設置的url執行HTTPRequest。我嘗試了它,如下所示,但dataUrl始終沒有。看起來組件的構造函數在組件中可用的屬性之前執行,這些屬性在html中設置。組件屬性爲none - 時間問題
如何告訴HTTPRequest等待dataUrl變量可用?
component.dart
class TableData {
static List data = [];
TableData() {}
//GETTERS
List get getData => data;
}
@NgComponent(
selector: 'jstable',
templateUrl: 'jstable/jstable_component.html',
cssUrl: 'jstable/jstable_component.css',
publishAs: 'cmp'
)
class JSTableComponent {
@NgAttr('name')
String name;
@NgAttr('data-url')
String dataUrl;
TableData _table_data = new TableData();
final Http _http;
bool dataLoaded = false;
JSTableComponent(this._http) {
_loadData().then((_) {
dataLoaded = true;
}, onError: (_) {
dataLoaded = false;
});
}
//GETTERS
List get data => _table_data.getData;
//HTTP
Future _loadData() {
print("data url is");
print(dataUrl);
return _http.get(dataUrl).then((HttpResponse response) {
TableData.data = response.data['data'];
});
}
}
的.html
<jstable name="myjstablename" data-url="table-data.json"></jstable>
[可以在angular.dart構造函數中訪問HTML中設置的屬性嗎?](http://stackoverflow.com/questions/21172775/is-it-possible-to-access-attributes-set -in-html-in-angular-dart-constructor) –
另請參閱http://stackoverflow.com/questions/21080837 和http://stackoverflow.com/questions/21061290 –