刚刚开始使用角度,并努力让ngClick运行。
我的堆栈溢出了大多数潜在的解决方案,但都指的是必须使用$ scope才能使用ngClick来工作。
但是,我知道你不需要这个,只要你所在的页面分配了正确的控制器('controller as'方法),因此只要你的功能在这个控制器内它应该工作
然而,我正在努力让我的代码全部启动 - 没有错误回来,所以我可以调试。
以下是我的设置:
Angular version: 1.6.4
Router.js
state(‘exampleShow', {
templateUrl: '/templates/example.html',
controller: ‘exampleShowController as exampleShow'
})
controllers.js
exampleShowController.$inject = [‘Example’, '$state', 'User'];
function exampleShowController(Example, $state, User) {
const exampleShow = this;
function addExample() {
console.log('click');
}
}
example.html的
<button ng-click="addExample()" class="u-full-width button-primary">Add
example</button>
我知道我在这里错过了一个菜鸟错误,但严重无法发现我错过了什么。
感谢您对此有所了解。
ķ
答案 0 :(得分:1)
由于您使用controller as
语法,因此您需要将控制器函数绑定到this
,并且您必须通过html
中的别名调用它。,例如:{{1} }
演示:
ng-click="exampleShow.addExample()"
&#13;
var myApp = angular.module('myApp', []);
myApp.controller('ExampleShowController', ExampleShowController);
ExampleShowController.$inject = [];
function ExampleShowController() {
const exampleShow = this;
exampleShow.addExample = function() {
console.log('click');
}
}
&#13;
答案 1 :(得分:0)
您没有在控制器中注入$scope
。如果要在模板