gpt4 book ai didi

javascript - ajax请求后将参数传递给 Angular 组件

转载 作者:行者123 更新时间:2023-11-28 18:23:27 25 4
gpt4 key购买 nike

我正在处理 Angular 1 组件,我制作了一个数据表组件,它接受数据集作为参数。

这是我使用datatable组件的方式。

index.html

...
<datatable dataset="ViewModel.dataset"></datatable>
...

index.controller.js

(function() {

'use strict';

angular
.module('DashboardApplication')
.controller('PagesIndexController', PagesIndexController);

function PagesIndexController() {

var self = this;

self.dataset = {};

Restangular.one('someurl').get().then(function( pages ) {
self.dataset = pages;
});
}
})();

datatable.component.js

(function() {

'use strict';

angular
.module('DashboardApplication')
.component('datatable', {
bindings: {
dataset: '<'
},
templateUrl: '/frontend/templates/dashboard/components/data-table.html',
controller: 'DataTableController'
});

})();

datatable.controller.js

(function() {

'use strict';

angular
.module('DashboardApplication')
.controller('DataTableController', DataTableController);

function DataTableController() {
var self = this;
console.log(self.dataset); // which is undefined!
}

})();

问题是我在 datatable.controller.js 中的 dataset 得到 undefined。有什么解决办法吗?!

最佳答案

使用 $onChanges 生命周期 Hook 来查看定义后的值:

  angular
.module('DashboardApplication')
.controller('DataTableController', DataTableController);

function DataTableController() {
var self = this;
//console.log(self.dataset); // which is undefined!
this.$onChanges = function(changesObj) {
if (changesObj.dataset) {
console.log(changesObj.dataset.currentValue);
};
});
}

有关详细信息,请参阅AngularJS Developer Guide -- Components .

关于javascript - ajax请求后将参数传递给 Angular 组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39554498/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com