gpt4 book ai didi

javascript - TypeError : ko. 可观察数组不是函数

转载 作者:行者123 更新时间:2023-12-03 04:44:50 25 4
gpt4 key购买 nike

我在网站上使用 Knockout 时遇到问题。当我尝试加载页面时,浏览器给出一个 TypeError: ko.observablearray is not a function

我不确定我在这里做错了什么,这是否意味着我的带有 knockout 的 JS 文件尚未加载,或者我格式化代码的方式存在问题?

这是我第一次尝试使用 knockout 和一般的 Javascript,所以如果这是一个简单的问题,请耐心等待。

这是我的 app.js 文件的一个片段,其中抛出了错误:

// --- View Model.
function AppViewModel() {

// Setting This
var self = this

// Declaring Observables
this.locationInput = ko.observable("");

this.locationList = ko.observablearray([]);

这是我加载脚本的方式:

  <script src="./js/knockout.js"></script>
<script src="./js/jquery.min.js"></script>
<script src="./js/app.js"></script>

我对此有何不明白?我对Python更熟悉,如果我使用Python,这个错误在我看来就像我没有导入模块一样。我不知道这对于 Javascript 是必要的;为了使用 Knockout,我需要做出声明吗?再次感谢您的帮助。

最佳答案

它需要大写的 A 来表示 observableArray

var myObservableArray = ko.observableArray();    // Initially an empty array
myObservableArray.push('Some value'); // Adds the value and notifies observers

http://knockoutjs.com/documentation/observableArrays.html

如果您使用过

var self = this;

以下声明可以直接引用self

// Declaring Observables
self.locationInput = ko.observable("");
self.locationList = ko.observablearray([]);

当您想在函数或计算对象中使用上述对象时,这将很有用。这将有助于指出正确的引用。例如:

self.getLocation = function(data, event){
return ko.utils.arrayFirst(self.locationList(), function(location) {
return location.toLowerCase() === data.toLowerCase();
});
};

关于javascript - TypeError : ko. 可观察数组不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42916540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com