小编Pie*_*aud的帖子

在Vue.js中,有没有办法让组件模板不受JavaScript字符串的影响?

我刚刚通过Vue.js网站上的指南,我对组件模板感觉不好.我觉得他们用字符串指定是很奇怪的; 当然,也许这适用于非常短的模板,但是一旦你进入多行模板,你需要开始转义你的新行,并且在javascript字符串中开始使用html 感觉不对.更不用说语法高亮或任何其他好的IDE功能对JS字符串中的HTML都没用.

文档中详述的两个备选方案是使用内联模板X模板,但不建议使用这两个选项.

唯一的另一种选择似乎是单文件组件,这似乎是一个不错的选择,但它们在高级部分和文档中,据说对于中小型应用程序,只需使用Vue.component就足够了.此外,单个文件组件看起来更难以集成到项目中,需要利用项目的构建系统(文档谈论Webpack和Browserify).

所以我很困惑.我是否只需要接受我的组件代码看起来像这个例子一样混乱,直接从文档中提取?

Vue.component('currency-input', {
  template: '\
    <span>\
      $\
      <input\
        ref="input"\
        v-bind:value="value"\
        v-on:input="updateValue($event.target.value)"\
      >\
    </span>\
  ',
......
Run Code Online (Sandbox Code Playgroud)

javascript vue.js

16
推荐指数
2
解决办法
4858
查看次数

如何禁止使用字段而不是属性?

我的类中有一个属性,在set访问器中有很多逻辑:

private String text;

public String Text
{
   get { return text; }
   private set
   {
      // some actions with a value
      value = value.Replace('a', 'b');

      text = value;
   }
}
Run Code Online (Sandbox Code Playgroud)

如何防止其他开发人员(甚至是我)更改此类中的字段而不是属性

如果有人写这样的话:

public Test(String text)
{
   this.text = text;
}
Run Code Online (Sandbox Code Playgroud)

它会打破我班级的逻辑!

c# properties

13
推荐指数
4
解决办法
897
查看次数

文件在excel版本2013中打开但在2016年没有?

我使用以下标题从我的网络服务器服务器发送html内容为excel

    response.setContentType("application/vnd.ms-excel");
    response.setHeader("Content-Disposition", "attachment;filename=test.xls");
Run Code Online (Sandbox Code Playgroud)

我可以在excel版本2013上打开文件,但不能在2016年打开.在2016版本上,它说,The file is corrupt and can not be opened但是一旦我激活File > Properties > Security> Unblock文件打开了吗?是否有任何标题或其他设置我可以指定解锁安全性(或其他配置),以便我能像2013年那样打开excel文件?

java excel attachment ms-office

9
推荐指数
1
解决办法
647
查看次数

在html表中拆分并查看多行中的长句

在我看来,我必须将长句子分成HTML表格中的多行.我使用了一个代码,但它不起作用,因为我不想剪辑句子.我想用多行显示整个句子.

这是我使用的代码行:

 <td class="col-md-3" style="overflow-wrap:break-word;text-overflow:clip;">@Html.DisplayFor(ModelItem => item.Note, new { @class = "note" })</td>
Run Code Online (Sandbox Code Playgroud)

html css asp.net-mvc

7
推荐指数
1
解决办法
5836
查看次数

如何检查url字符串中的端口号?

我可以检查端口号是否存在于给定的URL字符串中?

就像有时用户可以键入202.567.89.254:8088http://202.567.89.254:8088/http://202.567.89.254.

在上述所有选项中,如果端口号存在,则8080默认情况下不执行任何操作,并使用结束斜杠8080/.

在JavaScript中可以吗?

javascript

6
推荐指数
3
解决办法
1763
查看次数

对我的ViewModel列表中的每个项目进行数据验证

要使用正则表达式进行验证,我通常会这样做:

// In my ViewModel
[RegularExpression("MyRegex", ErrorMessageResourceName = "MyErrorMessage")]
public string MyField { get; set; }
Run Code Online (Sandbox Code Playgroud)

和HTML助手

@Html.TextBoxFor(model => model.MyField)
Run Code Online (Sandbox Code Playgroud)

生成一个如下所示的标记:

<input type="text" class="valid" name="MyField" value="" id="MyField" data-val="true" data-val-regex-pattern="MyRegex" data-val-regex="MyErrorMessage"></input>
Run Code Online (Sandbox Code Playgroud)

问题是我希望有一个动态数量的字段,现在正在使用

// In my ViewModel
[RegularExpression("MyRegex", ErrorMessageResourceName = "MyErrorMessage")]
public IList<string> MyField { get; set; }
Run Code Online (Sandbox Code Playgroud)

这次

@Html.TextBoxFor(model => model.MyField[0])
Run Code Online (Sandbox Code Playgroud)

将生成(没有正则表达式html属性)

<input id="MyField_0_" type="text" value="" name="MyField[0]"></input>
Run Code Online (Sandbox Code Playgroud)

如何data-val在我的ViewModel中绑定具有DataAnnotation验证属性的列表的元素时,如何确保创建html属性?

c# validation custom-attributes asp.net-mvc-viewmodel

4
推荐指数
1
解决办法
3677
查看次数

在 vm 脚本上下文中传递函数

假设我有一个如下所示的库模块:

\n\n
module.exports = {\n    increment: function() {\n         count++;\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

我想在动态生成的脚本中使用它,如下所示:

\n\n
(function() { lib.increment(); })();\n
Run Code Online (Sandbox Code Playgroud)\n\n

通过将其传递到沙箱中:

\n\n
var sandbox = {\n    count: 1\n    lib: require(\'./lib\')\n}\nvar script = new vm.Script(\'(function() { lib.increment() })();\');\nscript.runInNewContext(sandbox);\n
Run Code Online (Sandbox Code Playgroud)\n\n

我遇到的明显问题是,一方面我不能需要“lib”,因为 lib.js 中没有定义“count”;另一方面,如果我var count在“lib.js”文件的导出上方定义\xc2\xa0,则这个新count变量而不是沙箱中的变量将受到影响。

\n\n

以下是我希望遵守的限制:

\n\n
    \n
  • 在生成的文件上使用 vm 而不是 eval() 或 require()
  • \n
  • 在外部文件中定义“lib”
  • \n
  • 没有修改自动生成的脚本,所以没有使用lib.increment.apply(context)或类似
  • \n
\n\n

到目前为止,我找到的唯一解决方案是将lib生成的脚本中的函数作为字符串添加到前面,或者直接在对象上定义它们sandbox,我发现这是一个不太理想的选择。

\n\n

似乎没有任何方法可以在调用时传递变量上下文require

\n

javascript v8 node.js

3
推荐指数
1
解决办法
1759
查看次数