我正在尝试从我的主控制器更改指令。
这是指令代码
# 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
从外部更改时永远不会被捕获
我怎么能解决这个问题?
我正在使用角度 1.0.7