草庐IT

knockout-templating

全部标签

javascript - Knockout Kendo Grid 数据绑定(bind)事件

我有一个使用knockout-kendo的剑道UI网格设置。我在网格的一列中有几个自定义按钮,即进行ajax调用以编辑另一个div中的条目,删除一个或检查editId以调用函数。我的问题是,这两个事件触发了两次!此外对我来说,它看起来像dataBound事件和dataBinding事件是一样的。这是一个fiddlethis.dataBound=function(){alert('dataBound');};this.dataBinding=function(){alert('dataBinding');};我尝试了一些不同的方法。这是另一个fiddlethis.gridConfig={

javascript - 如何访问 Knockout 组件中的自定义元素?

看看这个场景:ko.components.register('hello',{viewModel:function(){},template:"hellowrold"});如果我使用生成的html结果将是:helloworld但是如果我想要这个怎么办:helloworld那我怎样才能在组件中获取对自定义元素标签的引用呢? 最佳答案 自定义元素包含组件,它不被视为组件的一部分。就像在foreach、template或with绑定(bind)中使用的外部标记一样。如果你想为该标签设置样式,你必须添加绑定(bind)来设置它的样式。该组件

javascript - Knockout.js 项目结构

我一直在关注Angular.js和Knockout.js作为潜在的前端解决方案。我喜欢Knockout的教程和文档。但是,我不清楚Knockout如何处理大型应用程序的模板化。例如,在Angular中,您可以制作如下主模板:然后这将由“部分”填充,例如:Thisisapartial我的问题是,Knockout是否支持相同的概念?看起来Knockout想要使用“foreach”模板(http://knockoutjs.com/documentation/template-binding.html)。但是,这并没有解决将HTML分解成更小的部分的问题。我走在正确的轨道上吗?关于Knocko

javascript - knockout 选择绑定(bind),在选项添加晚时不记住值

我正在使用knockout创建一个select元素,必须延迟设置选项(选项是通过从服务器加载它们来设置的)。这导致初始值丢失。下面我有一些工作代码,它做我想做的,但是从服务器加载替换为静态表。如果行setupSelect();被移动到脚本的末尾(这模拟了对服务器的异步ajax调用),然后选择要求我选择。我认为当没有选择时值被覆盖,然后选择到达,但值现在为空。看起来我知道问题出在哪里,但不知道如何让它工作。你能告诉我如何让它工作吗?Yourthing:Youhavechosenathingwithid.varviewModel={select:{rows:ko.observableArr

javascript - Knockout.js 回发到服务器以更新模型

我知道您可以在knockout.js中创建2路绑定(bind)。一旦您更改View,这就会更改javascript中的模型,反之亦然。我需要一种方法来通知并将此更改发送回服务器。所以我非常需要向服务器发帖。我该怎么做?我的意思是,我需要以某种方式附加一个事件处理程序,以便每当我更改模型时,它会自动将更改发回服务器。 最佳答案 functionMyViewModel(){varself=this;self.value1=ko.observable();self.value2=ko.observable();ko.computed(fu

javascript - AngularJs 指令 : call method from parent scope within template

我对Angular指令还很陌生,我很难让它做我想做的事。这是我所拥有的基础知识:Controller:controller('profileCtrl',function($scope){$scope.editing={'section1':false,'section2':false}$scope.updateProfile=function(){};$scope.cancelProfile=function(){};});指令:directive('editButton',function(){return{restrict:'E',templateUrl:'editbutton.t

javascript - `ng-template` 未找到内联 `ng-include`

我有一个View正在加载一个嵌入的text/ng-template,文件后面的ng-include找不到它。脚本block位于View文件的最顶部:稍后我将在文件中加载:但在控制台中产生404错误:GEThttp://localhost/~me/stringCondition404(NotFound)我已经尝试了几种命名变体(比如以.html结尾)并使用ng-include作为属性而不是高级元素。一切都没有运气。是什么导致嵌入的ng-template无法在同一View文件中注册ng-include?更新:正如评论和答案所指出的,我的代码的基本设计是正确的。但是某些原因导致ng-temp

javascript - 如何在 knockout.js foreach 绑定(bind)中有条件地呈现 tr

我想使用knockout动态呈现行和列。我的想法是,我想用一些单元格填充每一行,并在需要时动态添加更多行。假设单元格总数等于4*行数,然后我尝试了:但它像以前一样工作:通过不渲染包含内容的整行,是否可以使用knockout渲染所有单元格并仅在需要时添加行?作为一种解决方法,我考虑嵌套foreach,但它需要我的模型从一维变为二维,这看起来很奇怪。 最佳答案 添加另一个计算属性,将您的数据组织成行:代码:varvm={people:ko.observableArray([{fname:'fname',lname:'lname'},{f

javascript - 无法直接在 ng-template 中访问范围变量

所以我最近将一些重复的标记移到了ng-templateblock中,我注意到在block内部,我无法直接访问作用域变量,但我仍然可以调用作用域函数。例如,考虑以下标记:IToggletheFlagIDoNothingTheflagis{{flag}}与以下脚本配对:varapp=angular.module('myApp',[]).controller("myController",['$scope',function($scope){$scope.flag=true;$scope.toggleFlag=function(){$scope.flag=!$scope.flag;}}])此

javascript - 跟踪输入文本框中每个文本更改的 knockout.js 事件

我是knockoutjs的新手。每次文本框中的文本更改时,我都想调用一个函数。我研究了一下并实现了keyup、keydown和keypress但它们无法正常工作。如果有人可以给我一个解决方案,或者请将我重定向到一些对我的场景有帮助的文档。如果有关于KnockoutJs中可用的所有事件(内置和自定义)的某种文档,那将非常有帮助。具体问题:data-bind="value:targetProp,event:{keyup:$parent.changeProp}"在Js中:Insideparent:this.changeProp=function(){if(condition..){dosom