ng-change无法处理文本输入

Ash*_*win 33 colors angularjs angularjs-directive angularjs-ng-change

我是棱角分明的新手.在我的代码中,有一个从文本字段初始化的颜色选择器.用户更改颜色的值,我希望该颜色反映为跨度中文本的背景.它不起作用.缺什么?

HTML:

<body ng-app="">
   <input type="button" value="set color" ng-click="myStyle={color:'red'}">
   <input type="button" value="clear" ng-click="myStyle={}">
   <input type="text" name="abc" class="color" ng-change="myStyle={color:'green'}">
   <br/>
   <span ng-style="myStyle">Sample Text</span>
   <pre>myStyle={{myStyle}}</pre>
</body>
Run Code Online (Sandbox Code Playgroud)

Plunker - http://plnkr.co/edit/APrl9Y98Em0d6rxuzRDE?p=preview

但是,当我改变ng-click它的工作.

Pet*_*nov 39

ng-change需要ng-model,

<input type="text" name="abc" class="color" ng-model="someName" ng-change="myStyle={color:'green'}">
Run Code Online (Sandbox Code Playgroud)

  • @ user1336321,它以当前角度的任何顺序工作(不确定大约1.0或者什么).指令没有订单规则 - 有优先权......地球上有谁给这个评论+1 (4认同)
  • 答案没有提到的一件事是订单实际上很重要,您需要在 ng-change 之前设置 ng-model 才能看到这个工作。 (2认同)

Huy*_*yen 5

我有同样的问题,我的模型是从另一种形式的结合,我已经添加了ng-changeng-model它仍然无法正常工作:

<input type="hidden" id="pdf-url" class="form-control" ng-model="pdfUrl"/>

<ng-dropzone
  dropzone="dropzone"
  dropzone-config="dropzoneButtonCfg"
  model="pdfUrl">
</ng-dropzone>
Run Code Online (Sandbox Code Playgroud)

输入#pdf-url从 dropzone 获取数据(两种方式绑定),但是,ng-change在这种情况下不起作用。$scope.$watch对我来说是一个解决方案:

$scope.$watch('pdfUrl', function updatePdfUrl(newPdfUrl, oldPdfUrl) {
  if (newPdfUrl !== oldPdfUrl) {
    // It's updated - Do something you want here.
  }
});
Run Code Online (Sandbox Code Playgroud)

希望这有帮助。