Angular 1.x使用用户输入

时间:2018-01-23 21:42:11

标签: javascript angularjs ng-style

我动态创建一个我需要控制其宽度和位置的元素。我尝试使用input在创建的元素中使用ng-modelng-style指令更改其样式,方法如下:
JS:

function createElementAndAppend(){
    element = angular.element("<"+element+" id='inputTag' ng-click='selectClickedElm($event.currentTarget)' ng-style='{width: w + 'px'} placeholder='input'>");
    angular.element(document.getElementById('board')).append($compile(element)($scope));
}

HTML:

<input type="number" ng-model="w" placeholder="change width">

我收到错误:

Error: [$parse:ueoe] Unexpected end of expression: {width: w

显然问题出在ng-style='{width: w + 'px'}上。如何将加号写入angular将知道将w的值解释为px作为元素的最终宽度?

1 个答案:

答案 0 :(得分:2)

我还没有测试过,但这应该可行:

element = angular.element("<"+element+" id='inputTag' ng-click='selectClickedElm($event.currentTarget)' ng-style='{width: w + \"px\"}' placeholder='input'>");