Angularjs 两个指令,各自的一对控制器和相同的templateUrl
我是AngularJS的新手。我想对两个指令使用一个模板。在deal中,第一个指令覆盖第二个指令的行为。但我已经为它们中的每一个指定了不同的控制器。我认为原因是控制器隔离了作用域。我需要第一个控制器执行它自己的filterChanged()函数,第二个控制器也是如此。与字段相同:蒙太奇、支付、取消和不活动。我试图操纵作用域(true,'isolate',false,{})、transclude(true,false,'element')、作用域字段('@','=','&')controllerAs和controllerBindTo不适合我的任务,因为我想抛出单独的控制器文件 请帮帮我。手落下 下面是源代码 filter.htmlAngularjs 两个指令,各自的一对控制器和相同的templateUrl,angularjs,Angularjs,我是AngularJS的新手。我想对两个指令使用一个模板。在deal中,第一个指令覆盖第二个指令的行为。但我已经为它们中的每一个指定了不同的控制器。我认为原因是控制器隔离了作用域。我需要第一个控制器执行它自己的filterChanged()函数,第二个控制器也是如此。与字段相同:蒙太奇、支付、取消和不活动。我试图操纵作用域(true,'isolate',false,{})、transclude(true,false,'element')、作用域字段('@','=','&')controllerA
<div class="filter">
<p class="text-center"><b ng-bind="::title"></b></p>
<div class="contact-item-requires-filter">
<div class="contact-item-require">
<input id="contact-item-montage-filter" class="contact-item-require-montage" type="checkbox"
ng-model="filter.montage"
ng-change="filterChanged()">
<label title="Монтажи" for="contact-item-montage-filter"></label>
</div>
</div>
directive2.js
angular.module('qualityControl')
.directive('usersFilterDirective', function() {
return {
templateUrl: '../templates/pages/quality/filter.html',
controller: 'usersFilterController'
}
});
已更新。添加带“&”的变量,这是函数声明
.directive('requiresFilterDirective', function () {
return {
restrict: 'AE',
scope: {
functionToCall: '&',
someData: '='
},
templateUrl: '../templates/pages/quality/filter.html',
link: function (scope, elem, attrs) {
scope.functionToCall();
console.log('scope.someData', scope.someData);
}
}
})
用法:
<requires-filter-directive function-to-call="myFunctOne()" some-data="yourJsonObject"></requires-filter-directive>
<requires-filter-directive function-to-call="myFunctTwo()" some-data="yourJsonObject"></requires-filter-directive>
您的两个指令都使用相同的控制器和相同的指令名称。我不明白你想要达到什么目标,但我可能会从那里开始。жжжжжжжжжж!Огонь !!! :)更正的directive2.js
<requires-filter-directive function-to-call="myFunctOne()" some-data="yourJsonObject"></requires-filter-directive>
<requires-filter-directive function-to-call="myFunctTwo()" some-data="yourJsonObject"></requires-filter-directive>
$scope.myFunctOne = function() {
alert("111")
};
$scope.myFunctTwo = function() {
alert("222")
};
$scope.yourJsonObject = {'aaa':123};