说,我有一个数组 protected void Page_Load(object sender, EventArgs e)
{
SqlConnection conn;
SqlCommand cmd;
using (conn)
{
//open the connection
conn.Open();
//send the query and store the results in a sqldatareader
SqlDataReader rdr = cmd.ExecuteReader();
if (rdr.Read())
{
//set the text of our label to the current # of hits
lblHits.Text = "Default Page Hits - " +
rdr["Hits"].ToString();
}
Session["field1"] = rdr["Hits"].ToString();
}
}
,我想过滤它以删除空值并加入一个字符串,如下所示:
[null, 'foo', 'bar']
如果我在控制器和[null, 'foo', 'bar'].filter(function(el) { return el !== null; }).join(', ')
中编写这段代码,一切正常,没有错误。但是如果我在我的视图中用花括号写出一个角度表达式,如:
console.log();
angular吐出一个解析错误:
<p>{{ [null, 'foo', 'bar'].filter(function(el) { return el !== null; }).join(', ') }}</p>
在我的项目中,这个控制器有许多影响这个最终字符串的变量,它们在许多函数中都有变化。当然,我可以编写一个函数将最终字符串写入控制器变量,比如Syntax Error: Token '{' is unexpected, expecting [)] at column 42 of the expression [[null, 'foo', 'bar'].filter(function(el) { return el !== null; }).join(', ')] starting at [{ return el !== null; }).join(', ')].
,如下所示:
vm.finalString
并将此函数注入每个更改后更改这些变量的函数,并在我的视图中回显花括号中的vm.updateFinalString = function() {
vm.finalString = [vm.var1, vm.var2, ...].filter(function(el) { return el !== null; }).join(', ');
}
,但似乎有很多代码重复。它是一个&#34;功能&#34;棱角分明还是我错过了什么?感谢。