angularjs – 可以从Angular ng-click Expression调用’alert()
我试图测试我的ng-click绑定是否正常 – 但我似乎遇到了一个更根本的问题 – 如何看待发生了什么(或不发生).
我通常的’原始’调试方法,alert()和console.log()似乎不可用. 是否可以从Angular应用程序中访问这些功能或类似功能? 下面的plnkr示例似乎显示了click事件’working’ – 影响组件中的对象 – 但我的函数调用alert()和log()似乎被忽略了. 话虽如此,当我调用一个可能不存在的函数时,有没有办法得到某种错误信息? Chrome控制台日志似乎没有显示任何内容. https://embed.plnkr.co/Dvadi8mWlUqTUW865UsI/ 我认为“可能重复”的问题是类似的,但它实际上并没有在标题中谈论alert()或log(),并且各种部分答案似乎通常面向Angular 1.x和控制器 – 我这样做没有控制器. 所以这个问题的一部分是 – 我需要一个控制器吗?看起来可能有一种简单的方法来“装饰”我的应用程序,但我现在只有模块和类,没有明确的控制器. 谢谢. 我认为最好的答案是在底部 – ‘ng-click’必须提供一个表达式,而不是函数调用. 这里有一些格式正确的代码,用于说明如何在Angular2中调用这些基本函数(对于其他新手): @Component({ selector: 'app-root',templateUrl: './app.component.html',//template:`<h2>Hello,world</h2>`,styleUrls: ['./app.component.css'] }) export class AppComponent { title = 'Quiz Tool'; quiz = new Quiz(); doAlert(){ console.log('log: test log,yo...'); // black console.debug('debug: test log,yo...'); // blue console.warn('warn: test log,yo...'); // yellow console.info('info: test log,yo...'); // black (with 'i' icon) console.error('error: test log,yo...'); // red alert('test...'); } } 并从您的HTML调用doAlert()方法: <button (click)="doAlert();count = count + 1" ng-init="count=0">Increment</button> 谢谢!
ng-click必须调用表达式. AngularJS表达式无法直接访问全局变量,如窗口,文档或位置.这种限制是故意的.它可以防止意外访问全局状态 – 这是微妙错误的常见来源.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |