我有一个NgComponent,它应该根据标签中的参数从另一个文件加载数据。这是一个示例标记:
<line-graph width="800" height="250" src="table.csv" />
如果我尝试在构造函数中基于src变量加载数据,则它为null。我知道价值正在设定,只是在以后。当元素完全初始化并且从该DOM加载变量时,有没有办法调用load函数?
答案 0 :(得分:1)
实施NgAttachAware
并在attach()
中运行您的代码。
我读到了一个错误,即使这最近也没有使用某些指令。
在这种情况下,尝试使用new Future(() { your code here });
要在每次更改值时执行代码,您可以使src
成为一个setter,并且每次更改值时都会执行setter中的代码。
String _src;
@NgTwoWay('src')
String get src => _src;
set src(String val) {
_src = value;
// your additional code goes here
}
答案 1 :(得分:0)
You can accomplish this by using the $watch
function. $watch
功能将在下一版本中重命名为watch
。以下是一个示例实现:
class Component {
@NgAttr("src")
String src;
Scope scope;
Component(this.scope){
scope.$watch(() => src, (value, previousValue){
if (value == null) return;
//load and draw data
})
}
}
在下一个版本中,它看起来像这样:
class Component {
@NgAttr("src")
String src;
Scope scope;
Component(this.scope){
scope.watch(src, (value, previousValue){
if (value == null) return;
//load and draw data
})
}
}