我在这个模板中有表,正在更新ajax请求。最初这个表是空的。当我点击触发请求的按钮时,数据流正常,但它没有反映在表格上。该表根本没有显示。
我还有一个加载器,它会在触发ajax请求时显示。当我将html的这些部分放在ng-view
模板中时,即使这样也行不通。 ng-view
不应该像这样使用吗?如果是,AngularJS中还有其他替代方法可以解决这个模板问题吗?
的index.html :
包含ng-view
div,由something.html
core.js :
我有一个get请求,通过点击index.html
中的某个按钮将数据输入到我的“tables”变量中。我已经检查(使用console.log
)数据正确并存储,问题是数据的这种变化没有反映在网站上。
something.html :
包含使用ng-repeat
显示表格的代码。
答案 0 :(得分:0)
我认为没有代码(这里或jsfiddle)我们无法帮助,但这就是我想说的:
我认为这不是ng-view
;
是的,至少有一个替代ng-view
的好方法 - 它是ui-router(它提供ui-view
)。 Ui-router功能更强大,但更复杂。为了您的目的,ui-router有一个resolve
部分,您应该在页面加载之前放置应该完成的所有请求;
此外,如果您需要在ajax-bsed表中进行排序,过滤和更丰富的功能,那么使用ngTables库将是一个不错的选择。
也许问题是您没有将数据提供给html。
我告诉你,当你从服务器获取数据到data
变量时,你应该通过范围将它提供给html:$scope.data = data;
之后,您将能够在<div ng-bind="data"></div>
$http
还是$resource
服务?如果不是(例如,如果您将其与jquery一起使用),则应在此之后使用$scope.apply()
。 因此,在这种情况下,每次使用非角度工具更新数据时都应调用$scope.apply()
;
P.S。你可能会问为什么不<div>{{data}}</div>
。你知道,它可能是相同的,但有角度的开发人员建议在可能时使用ng-bind
代替{{var}}
(查看this question)。