【问题标题】:Passing arguments to custom angular directive将参数传递给自定义角度指令
【发布时间】:2023-06-13 13:45:01
【问题描述】:

我正在尝试使用 angular 创建一个指令,但找不到传递我需要在其中显示的参数的方法。

指令是这样创建的:

(function () {
"use strict"; 

angular.module("directives", [])
    .directive("task", task);
function task() {
    return {
        scope: {
            Status: "=",
            Assignment: "=",
            Assignee: "="
        },
        restrict: "E",
        templateUrl: "/Content/partials/task.html"
    };
}
}());

这是 HTML 文件:

<div>
<span class="assignment">{{ Assignment }}</span>
<span class="assignment">{{ Assignee }}</span>
<button class="btn btn-primary" ng-click="backTask($event, task)">Back</button>
<button class="btn btn-primary" ng-click="advanceTask($event, task)">Next</button>
</div>

这就是我添加它的方式:

<li ng-repeat="task in tasks | filter:{Status: 0}">
<task Status="task.Status" Assignment="task.Assignment" Assignee="task.Assignee"></task>

“指令”模块已经添加到主模块中:

(function () {
    const app = angular.module("kanbanTest", ["directives"]);
}());

我知道参考是有效的,因为 div 是在文档中创建的,但它们显示为空,让我相信问题出在参数上。

【问题讨论】:

  • 只需将它们添加为小写即可,状态,分配,受让人
  • 我已尝试将所有内容都设为小写,但仍无法正确传递参数。

标签: javascript angularjs angularjs-directive


【解决方案1】:

尝试给出诸如任务状态、任务分配、任务分配者之类的参数

并在指令定义中将它们用作 taskStatus 、 taskAssignment 、 taskAssignee

【讨论】: