小编Tan*_*ner的帖子

具有命名模板的Knockout 3.2组件?

我正在尝试在淘汰赛3.2.0中使用新的组件系统.

目前没有太多文档,但这确实有效.

ko.components.register('price-input', {
  template: '<span>price-input</span>'
})
Run Code Online (Sandbox Code Playgroud)

但是,template绑定允许您指定DOM中已存在的模板名称,例如:

<script type="text/html" id="price_input">
  <span>price-input</span>
</script>
Run Code Online (Sandbox Code Playgroud)

然后你可以这样做:

<div data-bind="template: {name: 'price_input'}"></div>
Run Code Online (Sandbox Code Playgroud)

所以我尝试了这个:

ko.components.register('price-input', {
  template: {name: 'price_input'}
})
Run Code Online (Sandbox Code Playgroud)

但它不起作用.有没有办法在新组件中使用命名模板,或者它们必须内联或加载AMD.

谢谢

编辑:在RP Niemeyer的回答之后,为了澄清这里的模板,我尝试了他的回答:

<script type="text/html" id="ifx_price_input">
  <h4>PRICE INPUT <span data-bind="text: value"></span></h4>
</script>
Run Code Online (Sandbox Code Playgroud)

这是组件代码:

ko.components.register('price-input', {
  template: {element: 'ifx_price_input'}
})
Run Code Online (Sandbox Code Playgroud)

它确实加载模板,但将其视为转义字符串.

想法?

javascript knockout.js knockout-components

10
推荐指数
2
解决办法
3055
查看次数

Asp.Net MVC Razor BootStrap输入表

目前我有一个这样的输入表单:

<div class="editor-label">
            @Html.LabelFor(model => model.VenueID)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.VenueID)
            @Html.ValidationMessageFor(model => model.VenueID)
        </div>
Run Code Online (Sandbox Code Playgroud)

我想将其转换为使用以下引导代码:

<div class="form-group">
      <label for="inputVenueID" class="col-lg-2 control-label">Venue ID</label>
      <div class="col-lg-10">
        <input type="text" class="form-control" id="inputVenueID" placeholder="VenueID">
      </div>
    </div>
Run Code Online (Sandbox Code Playgroud)

我该怎么做,所以我仍然可以使用相同RazorHTML.LabelFor/ EditorFor/ ValidationMessageetc 语法?

c# asp.net-mvc razor twitter-bootstrap bootswatch

9
推荐指数
2
解决办法
3万
查看次数

淘汰组件通信

我有一个我想要转换为的Web应用程序和使用ko组件的SPA.我想知道如何进行一种组件间通信.

例如,我想要一个"通知"组件,其中每个组件都可以发送通知.

我设法通过在主视图模型中共享一个可观察的数组来找到解决方案:

var VM = function() {
    var self = this;

    this._notifications = ko.observableArray([]);
   this.notifications = {
        addInfo: function(text){
            self._notifications.push(text);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

<comp1 params="{app: $data}"></comp1><br/>
<comp2 params="{app: $data}"></comp2><br/>
<notif params="{app: $data}"></notif>
Run Code Online (Sandbox Code Playgroud)

见这里:http: //jsfiddle.net/nveron/j4829y7p/

我对这个解决方案并不完全满意,我宁愿将通知数据保存在通知组件中.

你有什么想法来解决这个问题吗?

knockout.js single-page-application knockout-components

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

根据条件逻辑更新表列值

我有这样的表:

name | salary 
Tom  | 10000
Mary | 20000
Jack | 30000
Lisa | 40000
Jake | 60000
Run Code Online (Sandbox Code Playgroud)

我需要一个更新查询来根据薪水列包含的值来更新薪水列。

工资需要增加:

  • 5000 表示 10000 到 15000 之间的值
  • 15000 到 20000 之间的值为 7000
  • 8000 表示 20000 到 30000 之间的值
  • 10000 表示 40000 到 60000 之间的值

sql t-sql sql-server postgresql sql-server-2008-r2

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

在SQL Server中将空字符串CAST/CONVERT转换为INT

我遇到了一个我使用CAST(Col1 AS INT) + CAST(Col2 AS INT)Col1和Col2 的错误,VARCHAR当Col1或Col2空白时我得到了有效的结果,我没想到这个.我检查过,CAST(和CONVERT)都有这种用0替换空白的默认行为:

SELECT CAST('' AS INT)
SELECT CONVERT(INT, '')
Run Code Online (Sandbox Code Playgroud)

我检查了信息页面,我看不到任何引用来解释为什么这是行为(或通过服务器设置更改它).我当然可以解决这个问题,但我想问为什么这是行为,因为我不认为它是直观的.

我实际上宁愿CAST失败或给予NULL,是否有一个服务器设置在哪里影响这个?

sql-server

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

从ko.observableArray动态设置表列

我试图根据ko.observableArray返回的列未预先确定的位置输出数据表.

来自我的observableArray的项目样本self.userData()[0]将是:

Object {
        RowNum: 1, 
        ID: "123", 
        Surname: "Bloggs", 
        Forename: "Joe", 
        Address line 1: "1 Park Lane"
}
Run Code Online (Sandbox Code Playgroud)

根据用户选择输出的内容,这些列每次都不同.

我希望输出中的列标题由数组中的内容确定,所以我想要的输出是:

<table>
   <thead>
      <tr>
         <th>RowNum</th>
         <th>ID</th>
         <th>Surname</th>
         <th>Forename</th>
         <th>Address line 1</th>
      </tr>
   </thead>
   <tbody>
      <tr>
         <td>1</td>
         <td>123</td>
         <td>Bloggs</td>
         <td>Joe</td>
         <td>1 Park Lane</td>
      </tr>
      <!-- repeated for each row -->
   </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

我知道我可以foreach用来重复行和列,但我不确定如何根据我的内容动态引用它observableArray.

目前我有这个基本结构:

<table>
    <thead> 
        <tr data-bind="foreach: userData [property name] ">
            <th>
               <span data-bind="text: [property name]"></span>
            </th>                   
        </tr>
    </thead>
    <tbody data-bind="foreach: userData"> …
Run Code Online (Sandbox Code Playgroud)

knockout.js knockout-mvc

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

没有"?characterEncoding = UTF-8"的字符串值不正确

我试图在我的数据库中的字段中插入一些文本,我有一个emojis的问题.会发生的是,如果我没有设置我的连接url,jdbc:mysql://localhost:3306/MyDatabase?characterEncoding=UTF-8那么服务器将存储emojis就好了,但也会将非拉丁字符存储为问号.

现在如果我设置我的连接url那么服务器将不喜欢emojis并将输出错误:

Incorrect string value: '\xF0\x9F\x98\xB1\xF0\x9F...' for column 'fullTweet' at row 1

我已经在本地服务器上完成了utf8兼容性的所有必要步骤:

  1. 我说行character-set-server=utf8mb4my.ini
  2. 查询show variables like 'character_set_server'返回utf8mb4
  3. 我用查询创建我的数据库 CREATE DATABASE twitter DEFAULT CHARACTER SET utf8mb4
  4. 默认情况下,我的表格和表格的所有字段都在使用utf8mb4_general_ci(我可以看到phpmyadmin)

缺什么?我确信我已经完成了所有必要的步骤,但仍然无法使其工作,要么它只存储拉丁字符,要么不存储表情符号.


我之前的一个问题的其他信息:

我可以在数据库中手动输入表情符号,它们显示在调试器中显示的内容(如框).我运行这个查询:

INSERT INTO `tweets`(`id`, `createdAt`, `screenName`, `fullTweet`, `editedTweet`) VALUES (450,"1994-12-19","john",_utf8mb4 x'F09F98B1',_utf8mb4 x'F09F98B1')
Run Code Online (Sandbox Code Playgroud)

这就是表格中的行:

1

java mysql utf-8 character-encoding

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

Bootstrap在MVC中下拉导航

我在MVC使用bootstrap时有以下导航,如何将存储菜单链接(第二个li)作为一个drowndown来包含Add和View Links而不删除@ActionLink

<div class="navbar navbar-inverse navbar-fixed-top">
    <div class="navbar-inner">
        <div class="container">
            <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="brand" href="/Home/Home">News Library</a>
            <div class="nav-collapse collapse">
                <ul class="nav">
                    <li class="@ActiveLink("Home", "Home", null)">@Html.ActionLink("Home", "Home", "Home")</li>
                    <li class="@ActiveLink("About", "Home", null)">@Html.ActionLink("Storage", "Add", "Storage")</li>
                    <li class="@ActiveLink("Contact", "Home", null)">@Html.ActionLink("Activites", "Add", "Activites")</li>
                    <li class="@ActiveLink("Contact", "Home", null)">@Html.ActionLink("Search", "Index", "Search")</li>
                </ul>
                <ul class="nav pull-right">
                    <li>@Html.ActionLink("[Log Out]", "Logout", "Home")</li>
                </ul>                
            </div>
        </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc asp.net-mvc-4 twitter-bootstrap

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

通过SQL代码识别主键候选者

我有一个包含数百万行且没有约束的原始数据,我想通过SQL代码识别主键的唯一列.

有什么办法可以通过SQL代码识别主键候选者吗?

sql sql-server primary-key

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

MySQL中的timestampdiff()是否等同于SQL Server中的datediff()?

我正在努力将功能从SQL Server 2000迁移到MySQL.

在SQL Server 2000中执行以下语句,输出为109.

SELECT DATEDIFF(wk,'2012-09-01','2014-10-01') AS NoOfWeekends1
Run Code Online (Sandbox Code Playgroud)

在mysql中使用的等效查询timestampdiff()代替datediff并将输出提供为108.

SELECT TIMESTAMPDIFF(WEEK, '2012-09-01', '2014-10-01') AS NoOfWeekends1
Run Code Online (Sandbox Code Playgroud)

我需要输出在MySQL中执行时匹配,因此返回109.

mysql sql-server datediff sql-server-2000

6
推荐指数
1
解决办法
9368
查看次数