gpt4 book ai didi

javascript - 动态按钮 ng-click 将变量传递给函数

转载 作者:行者123 更新时间:2023-11-28 18:51:04 25 4
gpt4 key购买 nike

我想使用指令 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) 时,我可以看到 '123' 警报。但是像var name这样的简单变量将是undefined。你能告诉我我做错了什么吗?

最佳答案

如果您使用像 ng-click="open(name)" 那么 name 应该像 Angular 范围变量。但是没有名为 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

关于javascript - 动态按钮 ng-click 将变量传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34474027/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com