我试图使用javascript/jQuery调用角度函数,以下是我找到的链接
我采取了相同的步骤,但在浏览器控制台中出错
Uncaught TypeError: Cannot call method 'myfunction' of undefined
Run Code Online (Sandbox Code Playgroud)
我创造了小提琴.如何调用myfunction功能和警报?任何的想法?
Google Trends 允许在任何 HTML 页面上嵌入搜索趋势数据的小部件。“相关查询”小部件显示热门和上升搜索查询的数据。默认情况下,当嵌入的小部件加载时,它会显示热门查询。
我想默认显示“上升查询”视图而不是“热门查询”视图。可以从小部件菜单手动切换。我正在寻找一种方法来自动化该过程,方法是在 HTML 页面上的 1 个或多个小部件中仅显示上升的查询视图。
“Stack Overflow”关键字的相关查询小部件示例:https ://jsfiddle.net/Lox8heyt/
图片: https: //i.stack.imgur.com/Wnqxa.png
<script type="text/javascript" src="https://ssl.gstatic.com/trends_nrtr/2213_RC01/embed_loader.js"></script> <script type="text/javascript"> trends.embed.renderExploreWidget("RELATED_QUERIES", {"comparisonItem":[{"keyword":"Stack Overflow","geo":"","time":"today 12-m"}],"category":0,"property":""}, {"exploreQuery":"q=Stack%20Overflow&date=today 12-m","guestPath":"https://trends.google.com:443/trends/embed/"}); </script>
Run Code Online (Sandbox Code Playgroud)
Google Trends API:我没有在小部件代码中找到更改视图的选项。
是否可以通过JS自动点击小部件按钮将视图从顶部更改为上升?例如使用 XPath 或 JS 路径?
NG-点击:
ng-click="ctrl.setViewField('risingBullets')
ng-click="ctrl.setViewField('bullets')"
Run Code Online (Sandbox Code Playgroud)
X路径:
//*[@id="menu_container_0"]/md-menu-content/md-menu-item[1]/button
Run Code Online (Sandbox Code Playgroud)
JS路径:
document.querySelector("#menu_container_0 > md-menu-content > md-menu-item:nth-child(1) > button")
Run Code Online (Sandbox Code Playgroud)
选择器:
#menu_container_0 > md-menu-content > md-menu-item:nth-child(1) > button
Run Code Online (Sandbox Code Playgroud) 这个问题类似于使用Jquery调用Angular函数
但我认为我的例子有很小的不同.
在Angular项目上我有一个按钮:
<button id="button1" #tbName title="tbName" class="btn btn-lg btn-outline-primary" (click)="open(content,tbName.title)">Launch demo modal</button>
Run Code Online (Sandbox Code Playgroud)
在TS文件上有一个方法:
open(content, title) {
console.log(document.getElementById('button1').getAttribute('title'));
this.id_desk = document.getElementById('button1').getAttribute('title');
this.modalService.open(content, { centered: true, container: '#test', ariaLabelledBy: 'modal-basic-title' }).result.then((result) => {
this.closeResult = `Closed with: ${result}`;
}, (reason) => {
this.closeResult = `Dismissed ${this.getDismissReason(reason)}`;
});
}
Run Code Online (Sandbox Code Playgroud)
怎么看起来像jQuery函数会直接调用open(content,title)angular方法?