Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/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
Class ember模板中的动态类_Class_Templates_Dynamic_Ember.js_View - Fatal编程技术网

Class ember模板中的动态类

Class ember模板中的动态类,class,templates,dynamic,ember.js,view,Class,Templates,Dynamic,Ember.js,View,我从Angular毕业后就开始使用Ember.js,我正在尝试和学习不同的框架。 有人能给我解释一下如何在一个Ember模板中创建动态类吗? 我读过文件,但我必须说对我来说还是有点模糊 这就是我想做的: <div class="myClass-{{id}}></div> 其中{id}}等同于json中的项id。 我不知道它是否有帮助,但我经常使用该模板的余烬视图 谢谢你的时间和回答 我不知道你为什么要这样做,不管怎样,这个“可以”通过普通的{{bind attr}}助手

我从Angular毕业后就开始使用Ember.js,我正在尝试和学习不同的框架。 有人能给我解释一下如何在一个Ember模板中创建动态类吗? 我读过文件,但我必须说对我来说还是有点模糊

这就是我想做的:

<div class="myClass-{{id}}></div>
其中{id}}等同于json中的项id。 我不知道它是否有帮助,但我经常使用该模板的余烬视图


谢谢你的时间和回答

我不知道你为什么要这样做,不管怎样,这个“可以”通过普通的{{bind attr}}助手工作

如果该属性已加载,则可以通过管线中的模型挂钩或setUpController挂钩填充该属性

模型挂钩:

model: function(){
 return {someProperty: 'class-' + id}; //where ever id is coming from
}
设置控制器挂钩:

setupController: function(controller, model){
  controller.set('someProperty', 'class-' + id); //where ever id is coming from
}
编辑

在您的视图中:

didInsertElement: function(){
  var _scope = this;
  var cb = function(){
    _scope.get('controller').set('someProperty', 'class-' + id);
  }
  //set up jquery countdown
}

为了安全起见,如果您在jquery中执行一些倒计时触发器,它将不会进入Ember的运行循环,所以您可能会看到一些奇怪的行为。考虑使用run详细的

查找{{bnAd}}},出于好奇:为什么使用动态生成的类而不是提供的唯一元素元素,即HTML元素ID?看起来您想要识别HTML元素,通过id查找它比通过类查找要快得多。。。你有没有共享同一id的元素?@herom:没有,我没有共享同一id的元素。我之所以想这样做,但可能我想的方式不对:因为我必须用jquery触发倒计时。由于时间因页面而异,因此我将使用特定的类触发每个调用。但是,是的,身份证也很好,正如你提到的,更好。谢谢,我会试试这个解决方案。仅供参考,我想这样做是因为我必须在视图中使用didInsertElement的jquery触发倒计时。由于时间因页面而异,因此我将使用特定的类触发每个调用。
setupController: function(controller, model){
  controller.set('someProperty', 'class-' + id); //where ever id is coming from
}
didInsertElement: function(){
  var _scope = this;
  var cb = function(){
    _scope.get('controller').set('someProperty', 'class-' + id);
  }
  //set up jquery countdown
}