【发布时间】:2017-08-08 12:13:14
【问题描述】:
我有一个带有嵌入 html 的简单指令。 我希望能够将指令范围参数注入到 transclude。 我在 plunker 中写了一个简单的例子: https://plnkr.co/edit/jqyiQdgQxbeTrzyidZYF?p=preview
我知道在 angular 4 中可以做到,但我找不到在 angularjs 中做到这一点的好方法。
// Code goes here
var app = angular.module("app", []);
app.controller("mainCtrl", function($scope) {
$scope.users = ["tal", "oren", "orel", "shluki"];
$scope.deleteUser = (user) => {alert("trying to delete", user);}
});
app.directive('myList', function myList() {
return {
restrict: 'E',
transclude: true,
template: "<div><table><tr ng-repeat='item in collection'><td> This is inside myList - user name: {{item}} <ng-transclude></ng-transclude></td></tr></table></div>",
scope: {
collection: "="
},
replace: true
};
});
<!DOCTYPE html>
<html>
<head>
<script data-require="angularjs@1.6.2" data-semver="1.6.2" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.2/angular.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
</head>
<body ng-app="app" ng-controller="mainCtrl">
<h1>Hello Plunker!</h1>
<my-list collection="users">
<h2>This is transclude</h2>
<button ng-click="deleteUser(user)">Delete user: {{user ? user : "User name should be here"}}</button>
</my-list>
</body>
</html>
真的会得到一些帮助。
plunker:https://plnkr.co/edit/jqyiQdgQxbeTrzyidZYF?p=preview
【问题讨论】:
标签: angularjs angular-directive