javascript – Angular如何以正确的方式从服务设置范围变量?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – Angular如何以正确的方式从服务设置范围变量?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1551字,纯文字阅读大概需要3分钟。
内容图文
![javascript – Angular如何以正确的方式从服务设置范围变量?](/upload/InfoBanner/zyjiaocheng/725/10bec26d6781460c9f4f51d00f4ebf83.jpg)
我想从服务方法返回值到模板中使用和处理的范围.
但我发现,我不能在服务中使用范围.
我可以使用Rootscope,但我认为,这是不正确的方法.
如何轻松地将服务中的值设置为范围?
谢谢你的建议.
这是代码:
/**
* Init autocomplete dropdown menu for project list
*/
this.getProjectListForAutocomplete = function (container, options) {
$("#autocompleteProjects").kendoAutoComplete({
dataSource : {
type: "json",
serverFiltering: true,
transport: {
read: function (options) {
console.log("List");
console.log(options.data);
ApiService.doHttpRequest(
"POST",
$rootScope.apiBaseUrl + "gpsaddress/search",
requestParams
)
.success(function (data, status, headers, config) {
break;
}
})
.error(function (data, status, headers, config) {
});
}
}
},
dataTextField: "city" ,
dataValueField: "address.city",
filter: "contains",
minLength: 1,
change : function (e) {
console.log("change");
//console.log(e);
},
select : function (e) {
console.log("select");
var dataItem = this.dataItem(e.item.index());
console.log(dataItem);
// Here i need set scope in controller
}
});
};
解决方法:
请参阅下面的演示:
var app = angular.module('app', []);
app.service('dataService', function() {
var _person = {
name: "jack",
surname: "doe"
}
return {
person: _person
}
})
app.controller('fCtrl', function($scope, dataService) {
$scope.person = dataService.person;
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app">
<div ng-controller="fCtrl">
<p>First Name: {{person.name}}</p>
<p>Last Name: {{person.surname}}</p>
Edit First Name:<input type: "text" ng-model="person.name" />
</div>
</div>
内容总结
以上是互联网集市为您收集整理的javascript – Angular如何以正确的方式从服务设置范围变量?全部内容,希望文章能够帮你解决javascript – Angular如何以正确的方式从服务设置范围变量?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。