在Scala和Python中它是:
z.put("varname", variable)
但是在javascript中我得到了(在控制台中)
Uncaught ReferenceError: z is not defined
我真正想做的是在Zeppelin中使用z.angular("varname")
从Scala代码访问javascript变量,但我没有运气:(
完全需要在一个单元格中像
%angular
<script>
var myVar = "hello world";
// some magic code here!
</script>
然后在另一个单元格中
println(z.angular("myVar"))
更新:
这是我到目前为止所做的,我在黑暗中完全被刺伤,因为我更像是一个后端/数据科学类型的人。因此,为我的前端绝望而道歉。
单元格1:
z.angularBind("myVar", "myVar")
z.angularBind("msg", "msg")
注意我不知道在第二个参数中放什么。
Cell 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
或var名称。
我没有看到任何按钮或任何“点击”按钮。
答案 0 :(得分:5)
在Angular解释器中。我们可以
在html内容中使用
{{name}}
与
绑定 ng-model='name'
使用或设置ng-click或其他角度指令。
ng-click="name='Rockie'"
根据许多SO,修改角度控制器之外的范围变量不是一个好习惯。我也没有在Zeppelin工作。但是有一个normal js fiddle example。
在Spark解释器中。我们可以
与
绑定 z.angularBind("name", "Knock Data")
解除绑定
z.angularUnbind("name")
获取值,变量需要先绑定,否则它将变为null。
z.angular("name")
使用
观看变量 z.angularWatch("name", (oldValue: Object, newValue: Object) => {
println(s"value changed from $oldValue to $newValue"
})
除角度绑定外。 Dynamic Form是为最终用户提供互动的好方法
输入
z.input("number", 1).toString.toInt
选择无默认值
z.select("Day", Seq(("1", "Mon"), ("2", "Tue")))
选择默认值
z.select("Day", "1", Seq(("1", "Mon"), ("2", "Tue")))
检查
z.checkbox("good applications", Seq(("1", "Zeppelin"), ("2", "Highcharts"), ("3", "Spark")))
答案 1 :(得分:0)
这对我有用
%angular
<div id="map" style="height: 300px; width: 50%" ng-model="id_selected_arr"/>
%spark2
var result = z.angular("id_selected_arr")
但是我遇到了另一个问题,如何处理数组...也许有人会回答您,它也会为您提供帮助here