2
我有一個問題試圖讓knockout與requirejs很好地玩(並根據這裏的帖子數量來判斷,所以其他人!)。我在這裏讀到的任何東西都遇到過這個問題。requirejs&knockoutjs ko.computed傳遞函數返回ko.computed的值
下面是我的配置的要求:
requirejs.config({
"baseUrl": "/js",
"paths": {
"Model": "App/Model",
"Development": "App/Development",
"Property": "App/Property",
"codemirror": "vendor/codemirror/codemirror-2.37/lib/codemirror",
"galleria": "vendor/galleria/galleria-1.2.9",
"jquery": "vendor/jquery/jquery-2.0.0",
"jquery-ui": "vendor/jquery-ui/jquery-ui-1.10.2",
"jshint": "vendor/jshint/jshint-1.1.0",
"knockout": "vendor/knockout/knockout-2.2.1",
"signalr": "vendor/signalR/jquery.signalR-1.0.1"
},
"shim": {
"galleria": {
deps: ["jquery"]
},
"jquery-ui": {
deps: ["jquery"]
},
"signalr": ["jquery"],
"/signalr/hubs": {
deps: ["jquery", "signalr"]
},
"Development/ViewModel/CreateDevelopment": {
deps: ["signalr", "knockout"]
},
"knockout": {
deps: ["jquery"],
exports: "knockout"
}
}
});
所以這應該讓我所有的依賴關係,而事實上它。這是要求位:
require(["Development/ViewModel/CreateDevelopment"], function (CreateDevelopment) {
$.connection.hub.start().done(function() {
if (CreateDevelopment !== undefined && CreateDevelopment !== null) {
var createDevelopment = new CreateDevelopment();
createDevelopment.init();
}
});
})
我可能需要引入singalr jquery位,但那不是我有問題。
當我定義我的模塊,我不斷收到以下錯誤:
Uncaught Error: Pass a function that returns the value of the ko.computed (Line 44)
這裏是我的模塊
define(["Model/developmentType", "knockout", "signalr", "/signalr/hubs"], function (developmentType, ko)
現在,如果我使用的console.log(KO)我可以在看到的一切庫,所以我不明白爲什麼我不斷收到這個錯誤。
在需要越來越庫的順序如下:
- RequireJS
- 主AppJs
- Jquery的
- Jquery的SignalR
- 敲除
- 視圖模型
- 模型 個
集線器
未捕獲的錯誤:傳遞返回ko.computed
調用堆棧的值的函數:
任何幫助,這將大大的好評!
您可以共享該文件的第44行:
應替換? –
其knockoutjs庫 - 它已被縮小:( – Matt
https://github.com/knockout/knockout/blob/master/src/subscribables/dependentObservable.js線18 – Matt