javascript - ng-click inside templateUrl 指令不起作用

标签 javascript angularjs angularjs-directive angularjs-ng-click

抱歉,如果这是一个愚蠢的问题,但我是 Angular 的新手。在将代码放入指令之前,我有一个 ng-click 事件起作用。我知道这可能与范围有关,但似乎无法修复它。

我有一个从 templateUrl 引用的 html 文件:

<div class="thumbnail">
    <p class="title">{{ flight.origin }}</p>
    <p class="title">{{ flight.destination }}</p>
    <p class="title">{{ flight.airline }}</p>
    <p class="date">{{ flight.deptime | date: 'medium' }}</p>
    <p class="date">{{ flight.arrtime | date: 'medium' }}</p>
    <p class="price">{{ flight.price | currency }}</p>
    <div class="pax">
        <p>Adults: {{ flight.paxadult }}</p>
        <p class="likes" ng-click="plusOneAdult($index)">+ </p>
        <p class="dislikes " ng-click="minusOneAdult($index)">-</p>
    </div>
</div>

js 文件调用:

app.directive('flightInfo', function () {
    return {
        restrict: 'E',
        scope: {
            flight: '='
                },
        templateUrl: 'js/directives/flightInfo.html'

    };
});

这是从我的主页调用的:

  <div ng-repeat="flight in flights | orderBy:'price'" class="col-xs-12 col-sm-6">
      <flight-info flight="flight"></flight-info>
  </div>

最佳答案

您的“plusOneAdult()”和“minusOneAdult()”方法必须传递给您的指令,如下所示:

<div ng-repeat="flight in flights | orderBy:'price'" class="col-xs-12 col-sm-6">
      <flight-info minus-one-adult-fn="minusOneAdult" plus-one-adult-fn="plusOneAdult" flight="flight"></flight-info>
  </div>

您必须像这样在指令中取回这些函数:

return {
        restrict: 'E',
        scope: {
            flight: '=',
            minusOneAdultFn:'=',
            plusOneAdultFn:'='
                },
        templateUrl: 'js/directives/flightInfo.html'

    };

关于javascript - ng-click inside templateUrl 指令不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37609583/

相关文章:

javascript - 如何让 Turbolinks 停止干扰我的 JS?

angularjs - 使用 angularjs 单击浏览器后退按钮时,我可以保留模型值吗?

javascript - 如何将 ng-model 从 Angular 1.6 组件传递到输入元素

angularjs - 无法弄清楚如何使用 $parsers 和 $formatters 创建指令

angularjs-directive - 当内部指令具有 ng-repeat 时,为什么外部后链接在内部链接之前调用

javascript - 从 HTML 表中的 JSON url 加载数据,不重复

javascript - 仅在对象中解析值(javascript)

javascript - 如何为粘性标题设置动画?

javascript - 无法使用 Visual Studio Code 和 Chrome 调试器扩展来调试 AngularJS 应用程序

angularjs - 通过取消选中带有指令的复选框来更新模型