小编Sle*_*nee的帖子

如何在AngularJS ng-click(或ng-change,...)中调用服务功能?

调用这样的函数时:

HTML:

<select ng-model="var" ng-change="myFunction(var)">
  <option ng-repeat="option in alloptions">{{option}}</option>
</select>
Run Code Online (Sandbox Code Playgroud)

JS:

$scope.myFunction = function(){//do things}
Run Code Online (Sandbox Code Playgroud)

这一切都很完美但是当我的功能在服务中时(控制器可以到达),该功能不会被调用.通过将服务名称作为前缀来调用它也不是一个选项(即使这在javascript代码本身中有效)myService.myFunction(var)

所以我的问题是:当服务位于服务中时,在ng-change中调用服务的正确方法是什么?

提前致谢

javascript service angularjs

18
推荐指数
2
解决办法
4万
查看次数

d3.js 下载图形为 svg 图像

我一直在寻找一种从 d3.js 下载生成的 svg 的方法,我要么最终得到 phantom.js,这似乎有点矫枉过正(或者至少考虑到问题的“简单性”而令人生畏)或 svg-crowbar.js这显然仅适用于 chrome(我需要 firefox)。

我还发现了以下代码:

//Encode the SVG
var serializer = new XMLSerializer();
var xmlString = serializer.serializeToString(d3.select('svg').node());
var imgData = 'data:image/svg+xml;base64,' + btoa(xmlString);
//Use the download attribute (or a shim) to provide a link
<a href="'+imgData+'" download="download">Download</a>
Run Code Online (Sandbox Code Playgroud)

https://groups.google.com/forum/#!topic/d3-js/RnORDkLeS-Q

哪个应该下载svg(如果我可以让它工作)。我在想,不是提供下载按钮,而是点击某个 svg-element 也应该做?我目前有以下代码,但它不起作用:

 var svg = d3.select(elementid).append("svg")
                        .attr("width", 500)
                        .attr("height", 500)
                        .append("g")

            var serializer = new XMLSerializer();
            var xmlString = serializer.serializeToString(d3.select('svg').node());
            var imgData = 'data:image/svg+xml;base64,' + btoa(xmlString);
            //Use the download attribute (or a shim) to provide …
Run Code Online (Sandbox Code Playgroud)

javascript firefox svg download d3.js

5
推荐指数
1
解决办法
5753
查看次数

在相同的服务中但在$ watchcollection内调用AngularJS服务中的函数

这是本主题的后续问题: 从同一服务调用AngularJS服务中的函数?

我意识到为时已晚,我应该打开一个新问题,而不是在那里问它(对不起)

我想要执行以下操作:调用服务函数中的函数,并且调用在$ watchCollection内的额外难度.它看起来像这样:

返回{

myFunc1: function(param) {

},

myFunc2: function(scope,param) {

    scope.$watchCollection(param,function(v) {

      return foo + this.myFunc1(param)// do some stuff with the first function 

    }       
}
Run Code Online (Sandbox Code Playgroud)

由于函数(v){你现在在函数中的另一个函数,this不再是服务而是window.

如何在myFunc2 $ watchCollection参数函数中访问此myFunc1?

提前致谢

javascript service angularjs

1
推荐指数
1
解决办法
5366
查看次数

R hclust最终合并的高度

使用hclust函数在R中执行层次聚类时.你怎么知道最终合并的高度?

所以要澄清一些R默认数据:

hc <- hclust(dist(USArrests))
dendrogram1 = as.dendrogram(hc)
plot(hc)
Run Code Online (Sandbox Code Playgroud)

将导致具有所有聚类信息的变量hc.

R聚类输出

和树状图:

R树状图

正如您在树形图上看到的那样,最终合并发生在> 200(约300)的高度.但是树状图是如何知道的?此信息不在hc.height变量中,也不在dendrogram1变量中.提到的最高合并是169.

变量树状图1

如果dendrogram1变量不包含此信息,则绘图函数如何知道合并必须在300的高度发生?

树形图R顶部合并

我问这个是因为我需要这个数字(+ - 300)用于其他应用程序,从图中读取它是非常不切实际的.

感谢任何愿意帮助的人!

r dendrogram hclust dendextend

1
推荐指数
1
解决办法
4682
查看次数

标签 统计

javascript ×3

angularjs ×2

service ×2

d3.js ×1

dendextend ×1

dendrogram ×1

download ×1

firefox ×1

hclust ×1

r ×1

svg ×1