我正在一个大型项目中工作,该项目在客户端使用angularjs和html。
有些人以前创建了一个指令,它将变量'places'作为参数。我试图包含一个名为'ids'的新变量,但由于某种原因,列表'ids'不会从指令外部传递到指令内部 - 据我所见。
'places'是一个列表,其中的值在指令之外和里面。但是'ids'只在指令之外有值。
我已经阅读了很多关于范围,隔离范围,扩展和链接功能的内容。但是当一切都像这样一起使用时,对我来说很复杂。
有没有人知道问题是什么,或者我如何解决问题?
directive('directiveName', ['$location', '$routeParams', '$filter',
function ($location, $routeParams, $filter) {
return {
restrict: 'E',
scope: {
ids: '=',
places: '='
},
transclude : true,
templateUrl: 'partials/name/directiveNameInsideHtml.html',
link: function ($scope, elm) {
// varables being defined ...
_.extend($scope, {
// variables being defined ...
getData: function() {
// trying to do something with places and ids.
// places has values in it, but not ids.
}
}
}
})
<!-- 'ids' has values in it here. -->
<div ng-show="currentPage == 'name'">
<directive-name ids="ids" places="places"></directive-name>
</div>