我想從服務方法返回值範圍到模板中的使用和處理。Angular如何以正確的方式從服務設置範圍變量?
但我發現,我不能在服務中使用範圍。 我可以使用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
}
});
};
爲什麼不在服務中返回類型方法並在控制器中捕獲範圍內的返回值? – 2014-10-27 09:18:14
在服務中修改範圍對象將是一個糟糕的設計,因爲控制器需要與範圍進行交互,並且服務旨在獨立於UI和範圍 – 2014-10-27 09:22:43
@AnikIslamAbhi您可以添加一些示例嗎?我是Angular的新人。 – redrom 2014-10-27 09:24:55