Javascript 数据不存在';不能用AngularJS显示
首先,我想为我的英语不好道歉:) 当我想从datagrid加载模态时,AngularJS有一个问题 以下是我的网格代码:Javascript 数据不存在';不能用AngularJS显示,javascript,jquery,html,angularjs,twitter-bootstrap,Javascript,Jquery,Html,Angularjs,Twitter Bootstrap,首先,我想为我的英语不好道歉:) 当我想从datagrid加载模态时,AngularJS有一个问题 以下是我的网格代码: <tr ng-repeat="data in filtered = (list | filter:search | orderBy : predicate :reverse) | startFrom:(currentPage-1)*entryLimit | limitTo:entryLimit track by $index">
<tr ng-repeat="data in filtered = (list | filter:search | orderBy : predicate :reverse) | startFrom:(currentPage-1)*entryLimit | limitTo:entryLimit track by $index">
<td>{{data.lastName}} {{data.firstName}}</td>
<td>{{data.email}}</td>
<td>{{data.phoneNumber}}</td>
<td>{{data.cityID}}</td>
<td><button class="btn btn-primary btn-xs" ng-click="show(data.id)">DETAILS</button></td>
模态正在加载,但不加载数据。代码将不起作用,因为在非角度世界中调用模态作为其变量时,行变量超出范围 您不应该直接在controller中访问DOM元素,因此在angular world中不应该使用下面的行
$('#det-modal').modal('show');
修复这个问题,考虑使用它可以将行作为范围变量传递。
强烈建议取消<代码> Bootstrap。js<代码>切换到<代码>角UI引导程序< /代码>:您检查了响应中的数据吗?在浏览器开发人员控制台的“$scope.row=data;”行中放置一个断点,然后查看数据是否符合您期望的格式(它必须是格式为{firstName:“Name”,lastName:“lastName”,email:”的对象:email@....com“})在控制器中调用jquery时,使用angularjs不是正确的方法,我认为这不是问题的原因。这里的JSFIDLE表明它是有效的,即使“概念上”不正确。@StefanoCastriotta谢谢,我现在就看代码。。。数据格式很好,json…那么“但不加载数据”是什么意思?您是否看到空白值或angularjs占位符?({{row.email}})。模态div放在哪里?(它必须在“ng控制器”内,否则超出范围)谢谢您的回答,我将尝试这种方式。。。只是想告诉你怎么做:)$scope.show = function (id) {
$http.get('inc/getDetails.php?id='+id).
success(function(data) {
$scope.row = data;
$('#det-modal').modal('show');
});
};
$('#det-modal').modal('show');