[英]How to pass data from controller javascript to view javascript in AngularJS?
我正在用angularJS開發應用程序。 我從控制器中的REST服務獲取數據。 然后,我使用$ scope將數據傳遞到視圖。 在我看來,有一個頁面內javascript(我知道這是一種不好的做法),我想使用在頁面內javascript中傳遞的數據。 簡單地使用變量名或{{variable_name}}無效。 有人可以提出建議嗎?
這是我從控制器獲取的代碼片段:
$scope.requests = null;
var url = 'my_url';
$http.get(url).then(function(response)
{
$scope.requests = response.data;
if (response.data.status && response.data.message)
{
var status = response.data.status + '!';
var message = response.data.message;
showAlert(status,message);
}
return;
}).catch(function(response)
{
showAlert('danger!','Some error occured. Please try again.');
});
這是我的頁內JavaScript代碼:
<script>
$(document).ready(function() {
/*
date store today date.
d store today date.
m store current month.
y store current year.
*/
var date = new Date();
var d = date.getDate();
var m = date.getMonth();
var y = date.getFullYear();
/*
Initialize fullCalendar and store into variable.
Why in variable?
Because doing so we can use it inside other function.
In order to modify its option later.
*/
$('#calendar').fullCalendar({
// put your options and callbacks here
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
defaultView: 'month',
/*
selectable:true will enable user to select datetime slot
selectHelper will add helpers for selectable.
*/
selectable: false,
selectHelper: false,
/*
editable: true allow user to edit events.
*/
editable: false,
/*
eventStartEditable: false doesnt allow the dragging of events
*/
eventStartEditable: false,
/*
eventOverlap: false doesnot allow overlapping of events
*/
eventOverlap: false,
/*
events is the main option for calendar.
for demo we have added predefined events in json object.
*/
/* var events = requests.map(function(obj, index)
{
if (obj.accepted == 'no' ) return false;
return { id : obj.id, start : obj.start, end : obj.end }
})*/
});
});
</script>
<div id='calendar'></div>
使用{{requests}}
打印出數據,但是不能在<script> </script>
標記內使用。 我想將其與腳本標簽一起使用
在angular中,您希望在控制器中包括$ window服務,然后在$ window對象上設置一個變量。 然后,腳本標簽可以檢查窗口。 requestVariable 。 但是,您將不得不處理請求的異步性質,因為在請求返回之前,請求變量將為空。
而且,正如andrew.butkus指出的那樣,您可能不想這樣做。 如果將jquery代碼移至日歷IMO的角度指令的鏈接函數中,則可以簡化該jquery代碼。
將全局變量聲明為var gloable; 在控制器外部和控制器內部將所需的任何值分配給已聲明的全局變量,然后可以在Jquery onready函數內部訪問它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.