三种AngularJS中获取数据源的方式

这篇文章主要介绍了三种angularjs中获取数据源的方式,需要的朋友可以参考下

在AngularJS中,可以从$rootScope中获取数据源,也可以把获取数据的逻辑封装在service中,然后注入到app.run函数中,或者注入到controller中。本篇就来整理获取数据的几种方式。

■ 数据源放在$rootScope中

var app = angular.module("app",[]);app.run(function($rootScope){  $rootScope.todos = [    {item:"",done:true},    {item:"",done:false}  ];})

  {{todo.item}}

登录后复制

以上,把数据源放在$rootScope中的某个字段中,很容易被重写。

■ 数据源放在service中,把servie注入到run函数中

app.service("TodoService", function(){  this.todos = [    {item:"",done:true},    {item:"",done:false}  ];   })app.run(function($rootScope, TodoService){  $rootScope.TodoService = TodoService;}) 

  {{todo.item}}

登录后复制

在html中似乎这样写比较好:

登录后复制

在service中增加一个方法:

app.service("TodoService", function(){  this.todos = [    {item:"",done:true},    {item:"",done:false}  ];    this.addTodo = fucntion(newTodo){    this.todos.push({item:newTodo, done:false})  }   })

登录后复制

■ 数据源放在service中,把servie注入到controller中

app.controller("TodoCtrl", function($scope, TodoService){  this.TodoService = TodoServce;})

登录后复制

在对应的html中:

  

    {{todo.item}}  

登录后复制

■ 数据源放在service中,把servie注入到controller中,与服务端交互

在实际项目中,service还需要和服务端交互。

var app = angular.module("app",[]);app.service("TodoService", function($q, $timeout){  this.getTodos = function(){    var d = $q.defer();        //模拟一个请求    $timeout(function(){      d.resolve([        {item:"", done:false},        ...      ])    },3000);        return d.promise;  }    this.addTodo = function(item){    this.todos.push({item:item, done:false});  }})app.controller("TodoCtrl", function(TodoService){  var todoCtrl = this;    TodoService.getTodos().then(function(result){    todoCtrl.todos = result;  })    todoCtrl.addTodo = TodoService.addTodo;})

登录后复制

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

js实现(全选)多选按钮的方法

Angular HMR(热模块替换)功能的实现方法

关于Angularjs中的$apply及优化使用

以上就是三种AngularJS中获取数据源的方式的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2747581.html

(0)
上一篇 2025年3月8日 04:24:32
下一篇 2025年2月28日 15:09:13

AD推荐 黄金广告位招租... 更多推荐

发表回复

登录后才能评论