AngularJS directive with isolate scope, ng-repeat, and controllerAs

Multi tool use
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
Zack is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
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
Zack is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
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
Zack is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
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
Zack is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
Zack is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
edited yesterday
Aleksey Solovey
3,4813725
3,4813725
New contributor
Zack is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
asked yesterday


Zack
31
31
New contributor
Zack is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
Zack is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
Zack is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
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
Post as a guest
4SnMfnvjPKzKih MhxFKa3M1X470,oy LFGCu6gGqiZNliMrTIg0dIdS7 8qwTH6f1b,6p,G
Possible duplicate of Why is
replace
property deprecated in AngularJS directives?.– georgeawg
yesterday