Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js 组件-设置组件的样式宽度_Ember.js - Fatal编程技术网

Ember.js 组件-设置组件的样式宽度

Ember.js 组件-设置组件的样式宽度,ember.js,Ember.js,我不知道如何使用这些组件,例如: 这是dom中工作的渲染进度条的示例: <div class="progress-bar bg-color-teal" aria-valuetransitiongoal="25" aria-valuenow="25" style="width: 25%;">25%</div> 但是我无法基于百分比属性将宽度(以%为单位)绑定到样式属性。 现在,didinsertelement钩子可以工作了(我的意思是设置宽度),但我想用一种普通的方法来做

我不知道如何使用这些组件,例如:

这是dom中工作的渲染进度条的示例:

<div class="progress-bar bg-color-teal" aria-valuetransitiongoal="25" aria-valuenow="25" style="width: 25%;">25%</div>
但是我无法基于百分比属性将宽度(以%为单位)绑定到样式属性。 现在,didinsertelement钩子可以工作了(我的意思是设置宽度),但我想用一种普通的方法来做(并学习)如何做到这一点——就像绑定aria值和百分比一样

将宽度设置为“百分比”不起作用-可能是因为它不在“样式”属性中,也可能是因为它不在“百分比”中。如何使用以下逻辑(或类似逻辑)绑定属性:

注释行都不起作用:第一个错误未定义不是函数(用于get),第二个错误将宽度设置为“百分比%”,第三个错误“未定义百分比”

我能想到的唯一解决方法是使用routes模型返回额外数据,基本上是添加一个新属性:

styleString = 'width: ' + percent + '%'; 

您尝试定义
someString
时失败,因为它们是在定义组件时设置的,而不是在运行时设置的。将其更改为计算属性:

someString: function() {
  return "width: " + this.get('percent') + "%";
}.property('percent')

它将
someString
定义为一个属性,该属性取决于
百分比的值。当
percent
发生变化时,
someString

也会发生变化,非常感谢!还有一个问题,我太累了,现在无法尝试-更改百分比值会自动更改宽度吗?(我猜这就是属性thingy所做的……是的,当
percent
更新时,
someString
更新以包含新值。
 attributeBindings: ['someString:style'],
//someString: 'width:' + this.get('percent') + '%'
//someString: 'width:' + ['percent'] + '%'
//someString: 'width:' + percent + '%'
styleString = 'width: ' + percent + '%'; 
someString: function() {
  return "width: " + this.get('percent') + "%";
}.property('percent')