【问题标题】:Parsing parameters onclick for angularjs app解析angularjs应用程序的onclick参数
【发布时间】:2016-10-01 12:15:38
【问题描述】:

我正在努力增强已部署应用程序的功能。所有的 js 代码都被缩小了,我只能处理多余的 html 文件。我需要在单击“div”时调用一个函数,该函数解析一些元素并打开一个带有已解析 url 的新选项卡(在解析元素的帮助下更新了 url)。

我最初的想法是在一个新的 js 文件中创建一个函数并在主 html 页面上添加指向它的链接。显然,在 div 上单击属性调用时调用函数很好。但是在传递角度控制器参数时会引发错误 -

<div onclick="jumpToPage({{vm.username}})"></div>

function jumpToPage(user){
    console.log(user);
};

注意 - 我无权更新缩小的文件,我知道我可以取消缩小它,但有很多文件并且过程太长。

请告诉我如何解析/将参数传递给 JavaScript 函数

【问题讨论】:

  • jumpToPage() 是 Angular 控制器或 javascript 中的函数?
  • 它不是角度控制器,它是js文件中的一个函数

标签: javascript html angularjs onclick angularjs-scope


【解决方案1】:

应该是onclick="jumpToPage(vm.username)"&gt;

如果您通过{{vm.username}},它将得到评估。

例如vm.username ="some_name"

所以,您的控制器将获得some_name,而不是引用vm.username

它尝试搜索相同的 refarance。如果找不到,则抛出异常。

【讨论】:

  • 我没有在角度控制器中调用这个函数。所以当我通过 vm.username 时它会抛出异常。找不到虚拟机
  • 你能分享控制器指令的html
  • 我没有这个功能的控制器,它在角度范围之外
【解决方案2】:

尝试使用 ng-click,当我们使用 ng-click 时,我们不再需要使用 {{}},因为它会自动绑定模型。

【讨论】:

  • 无法使用 ng-click,因为我无法访问控制器。这个函数是角度范围外的纯js文件函数
猜你喜欢
  • 2013-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多