博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
angular.js初探
阅读量:5247 次
发布时间:2019-06-14

本文共 2449 字,大约阅读时间需要 8 分钟。

2015年7月27日 22:26:35 星期一

用在我论坛里的小栗子: 先列出来一级回帖, 点击帖子前边的"查看回复"按钮无刷新的去请求该帖子的所有回复

首先要引用js文件, 我这里使用的是bootstrap提供的cdn

接下来是自己的js代码

1 //bbsController 2 bbsApp = angular.module('bbsApp',[]); 3 // bbsApp.controller('bbslist',['$scope',function($scope) {
4 // $scope.answers= getBBSData(); 5 // $scope.bbsUrl = getBBSUrl(); 6 // //事件 7 // $scope.showReplay = function(index) {
8 // var id = $scope.answers[index].id; 9 // var url = $scope.bbsUrl+'newbbsreplay?fid='+id;10 // $http.get(url).success(function(jsonReplay){
11 // var replayData = 'replay_'+id;12 // $scope.replayData = jsonReplay;13 // });14 // }15 16 // }]);17 18 bbsApp.controller('bbslist',function($scope, $http) {19 $scope.answers= getBBSData();20 $scope.bbsUrl = getBBSUrl();21 //点击事件22 $scope.showReplay = function(index) {23 var id = $scope.answers[index].id;24 var url = $scope.bbsUrl+'newbbsreplay?fid='+id;25 $http.get(url).success(function(jsonReplay){26 for (i in jsonReplay) {27 var intent = '';28 for (var j = 0; j< jsonReplay[i].level; j++) {29 intent += '|-';30 }31 jsonReplay[i].intent = intent;32 }33 $scope.answers[index].replays = jsonReplay;34 });35 }36 });

这里第2行创建一个module, 就是创建一个angular BOOS级的功能模块

第3行和第18行是给这个模块绑定一个处理函数, 函数名字叫 'bbslist', 函数体是一个匿名函数

上边第3行到第16行, 也是可以用的, 只是这种方式, 匿名函数只能接收一个$scope参数,

对比一下18行, 这个方法可以传递多个内置参数, 第18行传递了两个参数, $scope, $http

接下来是html代码:

1  2  3  4     
5 6 7 8 9
10
11 {
{answer.id}} => {
{answer.nickname}} => {
{answer.content}}12
13 {
{replay.intent}}{
{replay.id}} => {
{replay.nickname}} => {
{replay.content}}14
15
16 17 29

第2行, ng-app="bbsApp", 就是上边js代码里定义的那个BOOS级的功能的名字

第8行, ng-controller="bbslist", 就是控制器函数啦, 注意, 名字命名, 后边不必写后缀

第9行, ng-repeat, 就是循环(注意循环时, 包括ng-repeat所在的标签), 数据是内置变量$scope里的数据, 我在第20行, 通过PHP给一个变量赋值, 然后再js文件中获取再赋给$scope

第10行, ng-click, 就是点击事件, 那个$index就是ng-repeat时的索引(或下标)

第12行, 又是一个ng-repeat, 他是一个嵌套循环, 显示帖子的回复, 神奇就在这里, 我先写好了repeat程序, 但是并没有数据,

在ng-click绑定的点击事件发生后, (上边js代码22行开始)我动态把数据添加到$scope里, 然后html里的那个repeat程序, 自动就repeat显示了

转载于:https://www.cnblogs.com/iLoveMyD/p/4681495.html

你可能感兴趣的文章
路由器外接硬盘做nas可行吗?
查看>>
python:从迭代器,到生成器,再到协程的示例代码
查看>>
pytest的参数化测试
查看>>
Java多线程系列——原子类的实现(CAS算法)
查看>>
安装Pygame和pip的艰辛之路
查看>>
Hibernate的实体类为什么需要实现 java.io.Serializable 接口
查看>>
在Ubuntu下配置Apache多域名服务器
查看>>
多线程《三》进程与线程的区别
查看>>
Min Stack
查看>>
老鸟的Python入门教程
查看>>
Ubuntu下非常给力的下载工具--uget+aria2
查看>>
Nginx配置
查看>>
棋盘覆盖问题
查看>>
vs2003无法调试 解决方法收藏
查看>>
linux sed命令
查看>>
LeetCode 160. Intersection of Two Linked Lists
查看>>
html标签的嵌套规则
查看>>
GitHub上史上最全的Android开源项目分类汇总
查看>>
后台运行命令:&amp;和nohup command &amp; 以及关闭、查看后台任务
查看>>
[Source] Machine Learning Gathering/Surveys
查看>>