gpt4 book ai didi

AngularJS 隔离范围与集合不起作用

转载 作者:行者123 更新时间:2023-12-03 08:03:13 27 4
gpt4 key购买 nike

我想使用同一指令的多个实例来呈现一个集合。我正在使用隔离范围将数组映射到隔离范围中的名称。隔离作用域中的链接函数正确地看到了映射数组,但是其中的 ng-repeat 不起作用。

<html ng-app="MyApp">
<head>
<script type="text/javascript" src="angular.js"></script>
<script type="text/javascript">
var MyCtrl = function($scope) {
$scope.blah = [1,2,4,5];
$scope.bar = [14,52,64,25];
}
angular.module("MyApp", [])
.directive("sephBlah", function($parse) {
return {
scope: {
tags: "=sephBlah"
},
link: function(scope, elem, attrs) {
console.log(scope.tags[0]);
}
}
});
</script>
</head>
<body ng-controller="MyCtrl">
<div seph-blah="blah">
<p data-ng-repeat="t in tags">{{t}}</p><!-- why this renders nothing? -->
</div>

<div seph-blah="bar">
<p data-ng-repeat="t in tags">{{t}}</p><!-- why this renders nothing? -->
</div>
</body>
</html>

我不确定为什么 ng-repeat 什么都不渲染。链接函数正确地看到了数组。

最佳答案

你不应该使用这样的指令。您在此处尝试获得的那种功能应该使用 Controller 来完成。

使用指令时,使用templatetemplateUrl 属性来提供内容。所以这会起作用:

.directive("sephBlah", function($parse) {
return {
scope: {
tags: "=sephBlah"
},
template: '<p data-ng-repeat="t in tags">{{t}}</p>',
link: function(scope, elem, attrs) {
console.log(scope.tags[0]);
}
}
});

在 html 中只做:

<div ng-attr-seph-blah="blah"></div>

关于AngularJS 隔离范围与集合不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28118826/

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