我想使用AngularJS添加jQuery数据表。
$scope.SearchData = function () {
var myData = new Object();
myData.EmployeeCode = $("#Person").val();
$http.post("/admin/GetData", myData)
.then(function (response) {
$scope.itemData = response.data.Initiator;
$('#dtBasicExample').DataTable();
});
};
我正在使用此搜索数据。第二次单击按钮后,此功能正常工作。
答案 0 :(得分:1)
我认为这是观察者问题,请使用 setTimeout 和 apply 进行修复:
myApp.controller('myController', function($scope, $timeout){ // just example
$timeout(()=>{
$('#dtBasicExample').DataTable();
})
或
setTimeout(()=>{
$('#dtBasicExample').DataTable();
$scope.$apply(); //this triggers a $digest
})
Angular无法知道您可能会更改什么。在这种情况下,您有责任手动调用$ apply(),这会触发一个$ digest循环。
类似地,如果您有一个设置DOM事件侦听器并更改处理程序函数内某些模型的指令,则需要调用$ apply()以确保更改生效。