Javascript AngularJS ng样式转义变量中的非法字符

Javascript AngularJS ng样式转义变量中的非法字符,javascript,css,json,angularjs,Javascript,Css,Json,Angularjs,可能是因为x偏移没有正确转义,所以没有拾取这些数字。将控制器中的值放入ng样式的正确方法是什么 数据如下所示: { "item": { "x-offset": 4, "y-offset": 5 } } 以及html: <div ng-style="{backgroundPosition: -item['x-offset']+'px' -item['y-offset']+'px'}"></div> 您需要将css字符串的其

可能是因为x偏移没有正确转义,所以没有拾取这些数字。将控制器中的值放入ng样式的正确方法是什么

数据如下所示:

{
    "item": {
        "x-offset": 4,
        "y-offset": 5
    }
}
以及html:

<div ng-style="{backgroundPosition: -item['x-offset']+'px' -item['y-offset']+'px'}"></div>

您需要将css字符串的其余部分括在引号中,并将其正确连接起来:

<div ng-style="{backgroundPosition: '-' + item['x-offset']+'px -' + item['y-offset']+'px'}"></div>


这里有一个正在工作的JSFIDLE:

为了鼓励回答,可以打开一个显示此代码的JSFIDLE!
item
是范围的一部分吗?item是范围的一部分。当它刚刚绑定到style=“background position={{-item['-x-offset']}时,它工作正常px…但现在我已经切换到ng样式,它没有选择那个特定的样式。在它之后,我有另一个正确工作的属性:width:item.width+'px',所以问题不在于item的内容,而在于我将其放入ng样式的方式。谁给过你发送数据需要打屁股:)