gpt4 book ai didi

javascript - ng-click Angular Directive(指令)

转载 作者:行者123 更新时间:2023-11-28 00:28:18 25 4
gpt4 key购买 nike

我无法弄清楚为什么我的指令中的 ng-click 不会触发 fooControls clickTest。为什么 clickTest 没有触发并记录到控制台?有更好的方法吗?

指令

app.directive('fooList', function () {
return {
restrict: 'E',
templateUrl: './app/views/fooList.html',
scope: { obj: "=" },
controller: 'fooController',
controllerAs: 'b'
};
});

Controller

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>

关于javascript - ng-click Angular Directive(指令),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29258825/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com