为什么我的代码没有更改 emberjs 中的值
Why is my code not changing the value in emberjs?
我正在学习 emberjs,当我按下按钮时,我很难更改布尔值。
这是我在javascript中所做的:
App.LiensController = Ember.ArrayController.extend({
actions: {
addToPortfolio: function() {
this.set('isInPortfolio', true);
console.log('Action is Happening!');
}
}
});
App.LIENS=[
{
id: 1,
apn: 'apn1',
fips: '01700',
state: 'CA',
county: 'Los Angeles',
address: 'somewhere st123',
debt: 4000,
isBiddedOn: false, //check
isInPortfolio: false
},
{
id: 2,
apn: 'apn2',
fips: '01744',
state: 'FL',
county: 'Miami',
address: 'someplace st700',
debt: 2000,
isBiddedOn: false, //check
isInPortfolio: true
},
{
id: 3,
apn: 'apn3',
fips: '05690',
state: 'FL',
county: 'Orlando',
address: 'ExactPlace in st111',
debt: 2500,
isBiddedOn: false, //check
isInPortfolio: false
}
];
我也尝试使用this.toggleProperty('isInProperty');
但它对我也不起作用。
这是按钮所在的 html 部分:
<script type="text/x-handlebars" data-template-name="liens">
<h2 class="sub-header" >Liens</h2>
<div class="table-responsive">
<table class="table table-hover">
<thead>
<tr>
<th>id</th>
<th>apn</th>
<th>fips code</th>
<th>State</th>
<th>County</th>
<th>Address</th>
<th>Debt</th>
<th>Current Bid</th>
<th>IsInPortfolio</th>
</tr>
<tbody>
{{#each lien in model}}
<tr>
<td>{{lien.id}}</td>
<td>{{lien.apn}}</td>
<td>{{lien.fips}}</td>
<td>{{lien.state}}</td>
<td>{{lien.county}}</td>
<td>{{lien.address}}</td>
<td>${{lien.debt}}</td>
<td>{{lien.isBiddedOn}}</td> <!--Check-->
<td>{{lien.isInPortfolio}}</td>
<td><button id='addLien' type='button' {{action 'addToPortfolio'}}>Add</button></td>
</tr>
{{/each}}
</thead>
</script>
我做错了什么?这是JSBIN http://emberjs.jsbin.com/fisifu/8/edit?html,js,output
提前感谢!
您正在循环浏览#each
助手中的留置权列表,但您正在尝试更改单个留置权的属性。您需要使用 itemController
,它指定个人留置权的controller
,如下所示:
{{#each lien in model itemController='lien'}}
然后,您需要实际创建留置权控制器,并将您在LiensController
中的逻辑放入LienController
:
App.LiensController = Ember.ArrayController.extend({
// actions: {
// addToPortfolio: function() {
// this.set('isInPortfolio', true);
// console.log('Action is Happening!');
// }
// }
});
App.LienController = Ember.ObjectController.extend({
actions: {
addToPortfolio: function() {
this.set('isInPortfolio', true);
console.log('Action is Happening!');
}
}
});
在这里工作演示
有关itemController
的更多信息,请单击此处
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 可以't让我的if语句处理js中的html表单输入
- 我的单元测试选项是什么
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 我的职位回报太快了,如何做出承诺
- 我的jQuery插件参数没有正确启动,遇到了问题
- 如何识别我的网站中的慢速设备
- 如何将JSON数据导入我的ejs模板
- JQuery添加元素需要在我的js之前再次添加JQuery脚本
- 知道为什么我的旋转木马不会自动更改图片吗
- 我的模板未被解析
- 无法将数据从firebase获取到我的html页面
- 角度图表;t显示在我的页面中
- 我的AngularJS表达式没有'不起作用
- 将电视直播频道从网站嵌入我的网站
- /undefined在我的404错误日志中多次出现
- 我的组件的Emberjs特定的SCSS文件
- 为什么我的代码没有更改 emberjs 中的值
- 是node.js + express(后端)+ emberjs(客户端)一个合理的堆栈为我的项目
- Emberjs -连接一个{{input}}过滤器栏与我的对象列表.当我输入时,列表过滤