如何以正确的方式从服务中设置作用域变量
Angular how to set scope variable from service in right way?
我希望将服务方法的值返回到模板中使用和处理的范围中。
但我发现,我不能在服务中使用scope。我可以使用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>
第一种方法:
在役:
serviceMethod: functon(scope){
//processing
scope.scopeVar=data;
}
在控制器中:
service.serviceMethod($scope);
当控制器调用CCD_ 2的CCD_。处理后的数据被分配给scope.scopeVar.here scope
指的是$scope对象。(我们将对象$scope传递给serviceMethod
方法)
第二种方法-
在役:
serviceMethod: functon(){
//processing
returndata;
}
在控制器中:
$scope.scopeVar=service.serviceMethod();
您不需要"从服务设置作用域变量",而是绑定到它。这实际上是相同的语义@sss是完全正确的
相关文章:
- 如何将新用户自动添加到AddThis服务以设置分析服务
- angular如何在我的情况下设置服务
- 在设置用户后,从 JavaScript JSON 请求中获取 Web 服务 (asmx) ASP.NET Windows
- 设置从服务中选择的 AngularJS 的初始值
- 将服务中的函数绑定到$scope(错误:无法设置undefined的属性'onChange')
- 我可以设置这个吗'某事'在该服务中动态创建的嵌套对象中的服务?(可能是范围问题)
- 如何在Angular中设置异步HTTP服务的回调,以便在不定义数组的情况下在控制器中填充数组
- Angularjs,在运行时设置价值服务的值
- 从控制器设置/获取服务中的数据
- 角度$scope首先设置值而不是服务,然后第二个函数调用一切正常
- 在 Angular JS 中设置和获取服务中的数据值
- 通过 REST 设置属性的 AngularJS 服务无法正确设置
- 如何使用角度休息服务设置超时回调事件
- AngularJS:在回调中设置私有服务变量
- 在$.ajaxSetup()中设置REST服务调用的主url,并且仅在后续调用中设置服务方法
- 如何设置服务以传递谷歌工作表ID?AngularJS
- 如何在调用异步Web服务响应时将值设置为数组
- 从AngularJS中的$http服务设置$scope值的最佳方式
- AngularJS$scope.foo是用服务设置的,但后来在同一个控制器中未定义
- Angular JS服务设置变量正确Javascript未定义