AngularJS directive with isolate scope, ng-repeat, and controllerAs
up vote
0
down vote
favorite
function directive() {
return {
restrict: 'E',
template: '<button ng-repeat="x in j.array" ng-click="j.set(x)">{{x}}</button>',
replace: true,
//scope: {},
bindToController: {
array: '=',
answer: '='
},
controller: function() {
var j = this;
j.set = function(data) {
j.answer = data;
};
},
controllerAs: 'j'
};
}
When I uncomment scope and create an isolate scope the directive no longer works. I'm trying to determine why.
Normally I still have access to the controllerAs in an ng-repeat
, in this example when I lose it it's still available on $parent.j
. I think there are 3 solutions.
Solution 1 is to leave it not in isolate scope.
Solution 2 would be to convert every reference to j
inside the repeat to $parent.j
.
Solution 3 is that there is some way to use j
without having to use $parent
that I'm unaware of.
angularjs angularjs-directive
New contributor
add a comment |
up vote
0
down vote
favorite
function directive() {
return {
restrict: 'E',
template: '<button ng-repeat="x in j.array" ng-click="j.set(x)">{{x}}</button>',
replace: true,
//scope: {},
bindToController: {
array: '=',
answer: '='
},
controller: function() {
var j = this;
j.set = function(data) {
j.answer = data;
};
},
controllerAs: 'j'
};
}
When I uncomment scope and create an isolate scope the directive no longer works. I'm trying to determine why.
Normally I still have access to the controllerAs in an ng-repeat
, in this example when I lose it it's still available on $parent.j
. I think there are 3 solutions.
Solution 1 is to leave it not in isolate scope.
Solution 2 would be to convert every reference to j
inside the repeat to $parent.j
.
Solution 3 is that there is some way to use j
without having to use $parent
that I'm unaware of.
angularjs angularjs-directive
New contributor
Possible duplicate of Why isreplace
property deprecated in AngularJS directives?.
– georgeawg
yesterday
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
function directive() {
return {
restrict: 'E',
template: '<button ng-repeat="x in j.array" ng-click="j.set(x)">{{x}}</button>',
replace: true,
//scope: {},
bindToController: {
array: '=',
answer: '='
},
controller: function() {
var j = this;
j.set = function(data) {
j.answer = data;
};
},
controllerAs: 'j'
};
}
When I uncomment scope and create an isolate scope the directive no longer works. I'm trying to determine why.
Normally I still have access to the controllerAs in an ng-repeat
, in this example when I lose it it's still available on $parent.j
. I think there are 3 solutions.
Solution 1 is to leave it not in isolate scope.
Solution 2 would be to convert every reference to j
inside the repeat to $parent.j
.
Solution 3 is that there is some way to use j
without having to use $parent
that I'm unaware of.
angularjs angularjs-directive
New contributor
function directive() {
return {
restrict: 'E',
template: '<button ng-repeat="x in j.array" ng-click="j.set(x)">{{x}}</button>',
replace: true,
//scope: {},
bindToController: {
array: '=',
answer: '='
},
controller: function() {
var j = this;
j.set = function(data) {
j.answer = data;
};
},
controllerAs: 'j'
};
}
When I uncomment scope and create an isolate scope the directive no longer works. I'm trying to determine why.
Normally I still have access to the controllerAs in an ng-repeat
, in this example when I lose it it's still available on $parent.j
. I think there are 3 solutions.
Solution 1 is to leave it not in isolate scope.
Solution 2 would be to convert every reference to j
inside the repeat to $parent.j
.
Solution 3 is that there is some way to use j
without having to use $parent
that I'm unaware of.
angularjs angularjs-directive
angularjs angularjs-directive
New contributor
New contributor
edited yesterday
Aleksey Solovey
3,4813725
3,4813725
New contributor
asked yesterday
Zack
31
31
New contributor
New contributor
Possible duplicate of Why isreplace
property deprecated in AngularJS directives?.
– georgeawg
yesterday
add a comment |
Possible duplicate of Why isreplace
property deprecated in AngularJS directives?.
– georgeawg
yesterday
Possible duplicate of Why is
replace
property deprecated in AngularJS directives?.– georgeawg
yesterday
Possible duplicate of Why is
replace
property deprecated in AngularJS directives?.– georgeawg
yesterday
add a comment |
1 Answer
1
active
oldest
votes
up vote
1
down vote
accepted
It may be to do with the replace: true
. If you wrap the button
in a div
, it seems to work! I've made a little Plunker here to demonstrate.
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
accepted
It may be to do with the replace: true
. If you wrap the button
in a div
, it seems to work! I've made a little Plunker here to demonstrate.
add a comment |
up vote
1
down vote
accepted
It may be to do with the replace: true
. If you wrap the button
in a div
, it seems to work! I've made a little Plunker here to demonstrate.
add a comment |
up vote
1
down vote
accepted
up vote
1
down vote
accepted
It may be to do with the replace: true
. If you wrap the button
in a div
, it seems to work! I've made a little Plunker here to demonstrate.
It may be to do with the replace: true
. If you wrap the button
in a div
, it seems to work! I've made a little Plunker here to demonstrate.
answered yesterday
Sophie
82079
82079
add a comment |
add a comment |
Zack is a new contributor. Be nice, and check out our Code of Conduct.
Zack is a new contributor. Be nice, and check out our Code of Conduct.
Zack is a new contributor. Be nice, and check out our Code of Conduct.
Zack is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53203649%2fangularjs-directive-with-isolate-scope-ng-repeat-and-controlleras%23new-answer', 'question_page');
}
);
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Possible duplicate of Why is
replace
property deprecated in AngularJS directives?.– georgeawg
yesterday