如何從通過JavaScript的角度Controller來Paper.js傳遞數據?如何傳遞從角度控制器的數據給JavaScript或Paper.js
這是一個問題幾乎相同,這先前的問題:
Pass Angular scope variable to Javascript
第一個答案前面的問題就不會爲我工作(我在下面的話),我不清楚地瞭解第二個答案(這是一個解決方法太)
編輯:我想通了,允許傳遞值 從角爲Javascript有點俗氣的解決方案:我知道這是不是角方式 可能有一些等缺點(和我會更樂意有 他們叫了) - 我展示它下面的答案)
是一個新的答案現已上市,兩年後?
也許有一個paper.js直接的方法? (前面的問題沒有涉及到paper.js)以下
我的代碼和環境細節:
// snippet frome angular controller named "colorSelector"
$scope.xCoor = image.xCoor;
$window.xCoor = image.xCoor; //hoped this would work but doesn't
//angular works fine in the html
<p> {{description}}</p>
<p>{{xCoor}} is the X coordinate, {{yCoor}}</p>
編輯:刪除NG重複包裝,因爲它並不直接適用於問題(第二編輯。清理,截至更多)
//paper.js successfully has access to global JS variables, but
//I cannot get angular information into the JavaScript variables
<script type="text/javascript">
targetX = 250; targetY=270; //hardwired works (I'm only using x for example)
// targetX = {{image.xCoor}} doesn't work (no surprise)
// targetX = window.xCoor // I thought this might work? but it doesn't
// suggestion below from earlier S.O. question doesn't work for me
// targetX = angular.element(document.querySelector('[ng-controller="colorSelector"]')).scope().xCoor
</script>
<!-- paper.js section below -->
<script type="text/paperscript" canvas="myCanvas">
//below works if variables are set above
var target = new Path.Circle({
center: [targetX, targetY],
radius: 10,
strokeColor: "white"
});
</script>
如果第二個答案的對前一個問題的「解決方法」的方式仍然有效,可能有人割肉出來一點給我嗎? (他們建議將帶有腳本標記的字符串中嗎?)
我認爲這個問題是在執行順序,你需要推遲paperscript執行,直到變量是由您的角度應用設置。還有一件事,在控制器中,你從'圖像'得到的值,但似乎你有一個陣列'圖像' – melsaqqa
欣賞的想法。我的實際使用案例涉及每次更改畫布一張圖片。在這個例子中,我留下了「圖像中的圖像」,因爲這是我創建縮略圖菜單的方式,點擊時可以調用改變當前圖像的角度函數。這種特殊的paper.js工具的工作方式是將圖像標籤id中的圖像拖到畫布上。我的目標是使用該角函數將圖像上的圓形覆蓋圖的x和y座標更改爲每個單獨圖像的存儲值。 – Tom22
位更多:當角函數被稱爲然而畫布圖像確實改變,它確實需要鼠標懸停在畫布以顯示新照片的第二動作(角度函數使最後消失,模糊使得新一個可見在實際畫布上)。包括這一點,因爲它可能會提示您懷疑的時機。我可能想問的第二個問題(但每次只有一個?)是如何強制一個paper.js函數由角函數內的某個東西觸發。 – Tom22