我想通过使用指令ng-click
将变量传递给函数,这是我的代码:
var name = "John Doe";
var $element = $('<button ng-click="open(name)" + "Name:" + '</button>').appendTo('#user-list');
$compile($element)($scope);
$scope.open = function(name) {
alert(name); //Will display 'undefined'
}
附加工作正常,当我插入open(123)
时,我可以看到&#39; 123&#39; 的提醒。但是像var name
这样的简单变量将是undefined
。你能告诉我我做错了什么吗?
答案 0 :(得分:3)
如果您使用ng-click="open(name)"
,则name
应该像角scope variable
一样。但是没有名为name
的范围变量,但你有一个名为name
的变量,这就是为什么你得到undefined
警报,而且它不在范围内(不是范围变量)。
如果您需要提醒"John Doe";
var name = "John Doe";
,那么您必须像下面的范围变量一样修改它,
$scope.name = "John Doe";
var $element = $('<button ng-click="open(name)">Name:</button>').appendTo('#ex1');
$compile($element)($scope);
$scope.open = function(name) {
alert(name); //Will display 'undefined'
}
这是一个DEMO
答案 1 :(得分:0)
看起来你有一个额外的单引号。试试这个:
try:
xml = urllib.urlopen(url).read()
except socket.timeout as e:
print 'timeout reading url: %s' % e
continue
print 'url read/parsing'
...