javascript - AngularJS with html5 color input - set value dynamically - Stack Overflow

I have an input with type color defined in my controller scope:HTML:<div ng-controller="MyCtrl&

I have an input with type color defined in my controller scope:

HTML:

<div ng-controller="MyCtrl">
    <input type="color" value="#f0f0f0" />
    <input type="color" value={{getColor()}} />
</div>

JS:

function MyCtrl($scope) {
    $scope.getColor = function () {
        return "#f0f0f0";
    };
}

The problem is the color don't get updated when its set by Angular, although when inspecting I see this:

See: FIDDLE.

How to update html5 input color dynamically?

I have an input with type color defined in my controller scope:

HTML:

<div ng-controller="MyCtrl">
    <input type="color" value="#f0f0f0" />
    <input type="color" value={{getColor()}} />
</div>

JS:

function MyCtrl($scope) {
    $scope.getColor = function () {
        return "#f0f0f0";
    };
}

The problem is the color don't get updated when its set by Angular, although when inspecting I see this:

See: FIDDLE.

How to update html5 input color dynamically?

Share Improve this question asked Nov 12, 2014 at 9:11 OfirisOfiris 6,1516 gold badges37 silver badges59 bronze badges 1
  • I don't know whether the JSFiddle has been updated, but the color was changing for me. Just had a slight delay. – Stacker-flow Commented Nov 12, 2014 at 9:18
Add a ment  | 

2 Answers 2

Reset to default 4

Try to bind it to your controller with ng-model instead of value.

function MyCtrl($scope) {  
    $scope.mycolor = "#f0f0f0";

    $scope.$watch('mycolor', function(newVal) {
        console.log('newVal ' + newVal);
    });
}

Here is updated and working fiddle.

You don`t even need a $watch, just a $timeout.

function MyCtrl($scope, $timeout) { 
    $timeout(() => {
        $scope.mycolor = "#f0f0f0";
    }) 
}

working fiddle http://jsfiddle/3ukL3suf/

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745636714a4637439.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信