我想在更改時更新存儲在constructor
中的數據對象。我怎樣才能做到這一點?目前,我有這樣的:如何刷新並從構造函數中提取對象
HTML
<dummy>
<div ng-repeat="key in $ctrl.data">{{ key }}</div>
</dummy>
JS(ES6):
class Dummy {
constructor() {
this.data = [];
this.runData();
}
runData() {
const inter = setInterval(() => {
this.data.push('item');
console.log(this.data);
}, 1000);
setTimeout(() => {
clearInterval(inter);
}, 5000);
}
};
app.directive('dummy',() => {
return {
controller: Dummy,
controllerAs: '$ctrl'
};
});
我也試着寫一個守望者:
app.directive('dummy',() => {
return {
controller: Dummy,
controllerAs: '$ctrl',
link(scope, el, a, ctrl) {
scope.$watch(ctrl.data, function (newValue, oldValue) {
ctrl.data = ctrl.data;
}, true);
}
};
});
控制檯登錄它不錯,但 - 作爲構造函數在開始運行 - 視圖是空的。我能做什麼?
您可以嘗試對您希望關注的數據使用'watcher',然後在值更改時執行一些任務。 – Jagrut
我試着爲它寫'$ watch',但我沒有成功。我在我的答案中更新了代碼。 –
你可以讓你的代碼變成一個可運行的例子嗎?最好用jsfiddle或plunker鏈接 – wvdz