我无法弄清楚为什么我的指令内的ng-click不会触发fooControls clickTest。为什么clickTest无法启动并登录到控制台?有更好的方法吗?
指示
app.directive('fooList', function () {
return {
restrict: 'E',
templateUrl: './app/views/fooList.html',
scope: { obj: "=" },
controller: 'fooController',
controllerAs: 'b'
};
});
控制者
app.controller('fooController', ['$scope', function ($scope) {
$scope.obj = [];
$scope.ClickTest = function (num) {console.log(num);};
}]);
的HTML
<div ng-repeat="book in obj" class="container">
<div class="row">
<h4 class="pull-right"><button class="btn btn-small" ng-click="b.ClickTest(1)">ClickTest</button></h4>
</div>
<br />
</div>
编辑
上面的html是foo-list的复制粘贴。完整的html是
<html>
<head>
</head>
<body>
<foo-list obj="searchResults"></foo-list>
</body>
<html
您的html应该更改为将ClickTest
函数直接应用于范围,而不是范围中的变量。您还需要<foo-list />
为指令包含一个标记。
<div ng-repeat="book in obj" class="container">
<div class="row">
<!-- Change b.ClickTest(1) to ClickTest(1)-->
<h4 class="pull-right"><button class="btn btn-small" ng-click="ClickTest(1)">ClickTest</button></h4>
</div>
<br />
<!-- Insert a foo-list tag -->
<foo-list obj="searchResults"></foo-list>
</div>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句