javascript - Accessing the controller associated with a directive instance -


i have associated controller directive so:

return function mydirective() {     return {         scope: {},         restrict: 'e',         template: template,         controller: 'mycontroller',         replace: true,     }; }; 

if want access method on controller template, need add controller property on scope?

template:

<div>    <div>      <button ng-click="dosomething()">do something.</button>   </div> </div>  

controller:

function mycontroller() {}  mycontroller.prototype.dosomething() {   window.alert('foo'); } 

you should avoid scope: {} directive access controller functions because of scope: {} in directive create isolate scope controller.

that's why may can not access controller functions directive template.

after avoid scope: {} use functions normal controller functions.

like:

<button data-ng-click="myfunction()">call function</button> 

you can use scope in link function in directive.

link: function (scope, element, attrs) 

Comments

Popular posts from this blog

html - Firefox flex bug applied to buttons? -

html - Missing border-right in select on Firefox -

python - build a suggestions list using fuzzywuzzy -