我正在尝试允许在流星应用程序中保留个性化的样式设置。为了争论,假设我将值保存在一个对象数组中,每个对象都包含一个“名称”和“值”属性。当我尝试在 <style> 块中渲染这些对象时,Meteor 会渲染一个评论。
下面是我最简单的概念证明:
poc.html:
<head>
<title>poc</title>
</head>
<body>
{{> hello}}
</body>
<template name="hello">
<h1>Hello World!</h1>
Styles don't render here:
<style>
body {background-color: #999;}
{{#each styles}}
.{{name}} { {{value}} }
{{/each}}
</style>
Styles render here:
<ul>
{{#each styles}}
<li class="{{name}}">{{name}} : {{value}}</li>
{{/each}}
</ul>
And here:
<div>
{{#each styles}}
.{{name}} { {{value}} } <br/>
{{/each}}
</div>
poc.js:
if (Meteor.isClient) {
Template.hello.styles= function() {
var resultArray=[];
resultArray.push( { name: 'style1', value:'color: #000'})
resultArray.push( { name: 'style2', value:'color: #fff'})
return resultArray;
}
}
样式块中的输出包含:
<!--data:DuvxkGSiN6BK3M95T--><!--data:GvvkPYg2Adii4NNre-->
而不是预期的:
style1: { color: #000}
style2: { color: #fff}
不确定这是设计使然,还是错误或我理解的错误。提前致谢。