メインコントローラーからディレクティブを変更しようとしています。
これは指示コードです
# directive.coffee
application.directive 'btnState', ->
{
restrict: 'A'
link: (scope, el, attrs) ->
attrs.$observe 'ngModel', (newVal) ->
switch newVal
when 'loading'
# do something
when 'reset'
# do other thing
el.click (event) ->
attrs.$set 'ngModel', 'loading'
return
}
今私のテンプレートに
<button id="#do-btn" ng-click="doSometing()" ng-model="ns.btn_state" btn-state>Do it</button>
<button id="#cancel-btn" ng-click="ns.btn_state = 'reset'">Cancel</button>
#do-btn
ボタンをクリックすると正常に動作し、変更をキャッチしますが、外部$observe
から変更しようとするとキャッチされませんns.btn_state
どうすればこれを解決できますか?
私はAngular 1.0.7を使用しています