gpt4 book ai didi

javascript - Angular JS View 不更新

转载 作者:行者123 更新时间:2023-11-29 16:06:01 25 4
gpt4 key购买 nike

我正在尝试从 promises 和 angularJS 开始。

我的后端正在返回正确的值,但我的 html View 没有显示我的表格以及从后端返回的数据。

这里有什么问题吗?

这是我的 HTML:

<div ng-app="clinang" ng-controller="pacientesCtrl">
<a class='btn btnprimary' href='/getdadospac/?oper=S' >Button</a>
<table ng-table="tableParams" class="table" show-filter="true">
<tr ng-repeat="paciente in $data">
<td title="'Pront'" filter="{ name: 'text'}" sortable="'pront'">
{{paciente.pront}}</td>
<td title="'Nome'" filter="{ age: 'number'}" sortable="'nome'">
{{paciente.nome}}</td>
</tr>
</table>
</div>

这是我从后端返回的 JSON 数据:

{"draw":1,"recordsTotal":5303,"recordsFiltered":5303,
"data":[{"DT_RowId":"4367","pront":"4367","nome":"XXXXXXXXX","endereco":"RUA TEODORO DA SILVA,294\/314","bairro":"VILA ISABEL","cidade":"RIO DE JANEIRO","estado":"RJ","telefone":"2567*0440","cpf":"","email":""},
{"DT_RowId":"21","pront":"21","nome":"YYYYYYYYY","endereco":"R ARAGUAIA","bairro":"PARQUE CHUNO","cidade":"DUQUE DE CAXIAS","estado":"RJ","telefone":"35637685","cpf":"02570293709","email":"jaceni@ig.com.br"},
{"DT_RowId":"23","pront":"23","nome":"ZZZZZZZZZZ","endereco":"rua 18 de outubro 241 101","bairro":"tijuca","cidade":"RIO DE JANEIRO","estado":"RJ","telefone":"","cpf":"","email":""},
{"DT_RowId":"24","pront":"24","nome":"AAAAAAAAAAA","endereco":"RUA MARIZ E BARROS 470 APTO 610","bairro":"TIJUCA","cidade":"RIO DE JANEIRO","estado":"RJ","telefone":"22646701","cpf":"53551192715","email":""},
{"DT_RowId":"27","pront":"27","nome":"AAAAAAAA GON\u00C7ALVES","endereco":"rua an\u00E1polis 251","bairro":"nova igua\u00E7u","cidade":"RIO DE JANEIRO","estado":"RJ","telefone":"3101-9648","cpf":"","email":""},
{"DT_RowId":"28","pront":"28","nome":"ASKLJALDJSLKADJ","endereco":"lucio de mendon\u00E7a 24 apt 501","bairro":"maracana","cidade":"RIO DE JANEIRO","estado":"RJ","telefone":"2568-9519","cpf":"04301072772","email":""},
{"DT_RowId":"30","pront":"30","nome":"SADFSADFASDFSD","endereco":"RUA GRAVATAI N 61 APTO 302","bairro":"ROCHA MIRANDA","cidade":"RIO DE JANEIRO","estado":"RJ","telefone":"32787747","cpf":"","email":""},
{"DT_RowId":"29","pront":"29","nome":"ANASADFSA DOS SANTOS","endereco":"saboia lima 12 apt 04","bairro":"tijuca","cidade":"RIO DE JANEIRO","estado":"RJ","telefone":"2204-1498","cpf":"48080152268","email":""},
{"DT_RowId":"31","pront":"31","nome":"JOAO SDAFSA SOUZA","endereco":"av dom helder camara 312 bl 05 apt 102","bairro":"benfica","cidade":"RIO DE JANEIRO","estado":"RJ","telefone":"","cpf":"075422437-64","email":""},
{"DT_RowId":"33","pront":"33","nome":"SKDJFSDAJFLASD","endereco":"fabio da luz 275 bl 04 apt 504","bairro":"meier","cidade":"RIO DE JANEIRO","estado":"RJ","telefone":"3979-0859","cpf":"","email":""}]}

JS 代码:

var app = angular.module("clinang", ["ngTable", "ngResource"]);
(function() {

app.controller("pacientesCtrl", pacientesCtrl);
pacientesCtrl.$inject = ["NgTableParams", "$resource"];

function pacientesCtrl(NgTableParams, $resource) {
// tip: to debug, open chrome dev tools and uncomment the following line
debugger;

var Api = $resource("/getdadospac/?oper=S");
this.tableParams = new NgTableParams({}, {
getData: function(params) {
// ajax request to api
return Api.get(params.url())
.$promise
.then(function(rows) {
params.total(rows.recordsTotal); // recal. page nav controls
return rows.data;
});
}
});
this.tableParams.reload();
}
})();

最佳答案

你有 Controller 、调用和所有东西,但你需要使用作用域将 Controller 的变量绑定(bind)到 View

    function pacientesCtrl(NgTableParams, $resource) {
vm = this;
vm.rows = []

..
.then(function(rows) {
vm.rows = rows.data;
}

然后在你的 html 中:

    <tr ng-repeat="paciente in pacientesCtrl.rows">

既然玩的够久了,还是看书学angular吧。它将强化一些概念并帮助开发人员成长。我和你一样, Handlebars 放在 angular 上,撞了太多墙,然后我读了一本书,一切都变了

我也推荐这个简单有趣的类(class):https://www.codeschool.com/courses/shaping-up-with-angular-js

关于javascript - Angular JS View 不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42115623/

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