如何使用Angular JS获取json数据并构造一个模态
How to get json data and construct a modal using Angular JS
当我点击视图细节按钮时,我想请求JSON数据,然后在内容上构造一个模态视图。
HTML:<a href="#">View Details 1</a>
<a href="#">View Details 2</a>
<a href="#">View Details 3</a>
得到JSON:
function MyCtrl($scope){
$http.get('json/story.json').success(function(data){
console.log(data);
$scope.story = data;
});
}
当用户点击detail按钮时,使用angular.js运行这个MyCtrl函数的最佳实践是什么?此外,上面的HTML正在使用另一个控制器打印出来。我希望有一些方法来绑定点击与硬编码ID的链接等。
你可以在你的控制器中这样调用方法:
<a href="#" ng-click="getDetails()">View Details</a>
然后在控制器中:
$scope.getDetails = function() {
$http.get(...).success(function(data){
$scope.story = data;
});
}
使用异步数据编辑CRUD的完整示例(这里通过$timeout
模拟)可以在这里看到:http://plnkr.co/edit/EAabx4?p=preview
它使用http://angular-ui.github.com/bootstrap/存储库中的$dialog
服务。这个例子使用了Bootstrap的CSS,但是模板是完全可定制的。
$dialog
服务的优点是它可以本地与AngularJS的承诺一起工作,所以你不必将东西复制到作用域,使用手表等。
把你的服务器通信代码(即$http之类的东西)放到Angular服务中。将该服务注入到显示HTML的控制器和与你的模态视图关联的控制器中(如果你有一个)。
让您的链接调用控制器上的函数,这些函数将与服务交互以获取数据。有你的模态控制器$watch的数据。
<div ng-controller="MyCtrl">
<a href="" ng-click="getDataset1()">View Details 1</a>
控制器:
function MyCtrl($scope, myService) {
$scope.getDataset1 = function() {
myService.getDataset1(); // populates myService.modalData
};
}
function ModalCtrl($scope, myService) {
$scope.showModal = false;
$scope.$watch(myService.modalData, function(data) {
$scope.modalData = data;
$scope.showModal = true;
});
}
相关文章:
- 打开一个模态并将其链接到AngularJS中的指令
- bootstrap消除模态并显示另一个模态
- 包括来自另一个页面的Boostrap模态;t验证表单
- 使用一个 jquery 代码关闭多个模态
- Angularjs - 观察模态窗口从另一个控制器关闭
- angularJS,一个部分或模态通知,加载几秒钟后就会消失
- 如何将一个模态放在一边-显示其他模态(像..这样的向导)
- 当你有很多文本框时,如何从一个模态中只填充一个文本框
- 将数据从一个模态发送到另一个模态
- 从模态内部的主体复制一个谷歌地图
- 我可以点击一个带硒的模态上的按钮吗
- 创建一个模态指令,并将click事件绑定到angular js中
- 如何将iFrame与带有'#'在一个简单的模态框中
- 显示模态对话;在 IE 中打开一个新窗口
- 我开发了一个api,我希望它重定向到其他php页面,并在我点击api文件中的按钮时弹出模态
- 打开一个模态(在Codeigniter中),该模态从依赖于phpvar的URL加载(在iframe中)内容
- 创建一个模态窗口以使用 AngularJS 加载数据
- 引导多个模态关闭所有与最后一个模态
- 在 JSP 中设置一个值,从 javascript 传递给 JSTL 的模态
- 多个模态一个脚本