В Scala и Python это:
z.put("varname", variable)
Но в javascript я получаю (в консоли)
Uncaught ReferenceError: z is not defined
Что я действительно хочу сделать, так это получить доступ к переменной javascript из кода Scala, используя z.angular("varname")
в Zeppelin, но мне не повезло :(
В полной необходимости в одной камере что-то вроде
%angular
<script>
var myVar = "hello world";
// some magic code here!
</script>
Потом в другой клетке
println(z.angular("myVar"))
ОБНОВИТЬ:
Это то, что у меня есть до сих пор, я полностью копаю в темноте, так как я больше из тех парней, которые занимаются бэкэндом / наукой о данных. Так что заранее извиняюсь за мою безнадежность переднего конца.
Ячейка 1:
z.angularBind("myVar", "myVar")
z.angularBind("msg", "msg")
Примечание. Я понятия не имею, что указать во втором аргументе.
Ячейка 2:
%angular
<div ng-app>
<div id="outer" ng-controller="MsgCtrl">
You are {{msg}}
</div>
<div onclick="change()">click me</div>
</div>
<script>
var myVar = "hello world";
function MsgCtrl($scope)
{
$scope.msg = "foo";
// also experimented with $scope.msg = myVar;
}
function change() {
var scope = angular.element($("#outer")).scope();
scope.$apply(function(){
scope.msg = 'Superhero';
})
}
</script>
Ячейка 3:
z.angular("msg")
z.angular("myVar")
И что бы я ни делал, я получаю либо null
, либо имя переменной.
Я не вижу ни кнопки, ни чего-то, что можно было бы "щелкнуть".