例如,我有一个角度表达式:
{{download.name}}
我想获取其实际值而不是其引用“ demo.txt”。该元素是这样生成的。其值随范围而变化。
<div ng-repeat="download in getDownloads()" />
当我写这样的东西时,该值是正确的。
<span class="input-group-addon" ng-model="name">{{openTokenPanel.name}}</span>
但是,如果我尝试在其他地方使用它,则输出是错误的。(我得到了“ Aria2 WebUI”)
modalScope.$download = function(){
var filename = modalScope.name;
console.log(filename);
};
我该怎么办?
了解更多信息。见https://github.com/ziahamza/webui-aria2
我正在修改这个项目。最后的代码块添加在“ js / libs / angularui-bootstrap.js”中。其余的添加在“ index.html”中
该按钮是这样的:
<button class="btn btn-default btn-primary" id="download_now" ng-click="$download()">
Download Now!
</button>
由于DfKimera的建议,我解决了这个问题:
在ng-repeat的HTML块中找到$ download函数被调用的位置(可能是ng-click的下载按钮),对其进行修改以包含> download变量,例如:ng-click =“ $ download(download )”
就我而言,我对代码做了如下更改:
<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);
};
最佳答案
您实际要做的是修改对$download()
的调用,以便传递download
对象。这样,访问download.name
将产生相应的变量。
仅使用范围(modalScope
对象)是没有可靠的方法,因为它仅引用最后一个范围状态,而不引用ng-repeat
的内部状态。
关于javascript - 如何获得 Angular 表达式的实际值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41024005/