如何获得角度表达式的实际值

时间:2016-12-07 17:44:21

标签: javascript angularjs angularjs-scope

例如我有一个角度表达式:

{{download.name}}

我想得到它的实际值而不是它的引用,即" demo.txt"。这个元素是这样生成的。它的值随着范围而变化。

<div ng-repeat="download in getDownloads()" />

当我写这样的东西时,价值是正确的。

<span class="input-group-addon" ng-model="name">{{openTokenPanel.name}}</span>

但如果我尝试在其他地方使用它,输出就是错误的。(我得到了#34; Aria2 WebUI&#34;)

 modalScope.$download = function(){
              var filename = modalScope.name;
              console.log(filename);
          };

我该怎么办? 欲获得更多信息。见https://github.com/ziahamza/webui-aria2 我正在修改这个项目。最后一段代码添加在&#34; js / libs / angularui-bootstrap.js&#34;中。休息符添加在&#34; index.html&#34;

按钮是这样的:

 <button class="btn btn-default btn-primary"  id="download_now" ng-click="$download()">
 Download Now!
 </button>

我解决了这个问题,感谢DfKimera的建议:

  

在HTML块中查找ng-repeat里面的$ download函数被调用(可能是带有ng-click的下载按钮),修改它以包含&gt;下载变量,如下所示:ng-click = &#34; $下载(下载)&#34;

在我的情况下,我对我的代码进行了一些更改:

<button class="btn btn-default btn-primary"  id="download_now" ng-click="$download(download)">
 Download Now!
 </button>

JS代码:

modalScope.$download = function(download){
              var filename = download.name;
              console.log(filename);
          };

1 个答案:

答案 0 :(得分:0)

您真正想要做的是修改对$download()的调用,以便传递download对象。这样,访问download.name将产生相应的变量。

单独使用范围(modalScope对象)没有可靠的方法,因为它只引用最后一个范围状态,而不是ng-repeat的内部状态