我正在尝试将迄今为止关于AngularJS学到的知识应用到简单的移动应用中,使用JQuery Mobile进行呈现。我已经看过Angular Mobile,但没有发现很多有用的文档或成熟的图书馆,因为Angular还很年轻。无论如何,我的问题是,我试图加载一个对象,当一个listItem被点击时,但它甚至不像ng-click指令实际上在做任何事情。我甚至试图只是登录到控制台,以显示它实际上是触发,但没有骰子。AngularJS-ng-click没有用JQuery Mobile发射
这是我到目前为止。
模板:
<div data-role="page" id="mushroom-list" ng-controller="MushroomListCtrl">
<div data-role="content" >
<ul data-role="listview" data-divider-theme="b" data-inset="true" class="mushrooms">
<li data-theme="c" ng-repeat="mushroom in mushrooms | filter:query | orderBy:orderProp">
<a href="#mushroom-detail" data-transition="slide" ng-click="selectMushroom({{mushroom._id}})" value="{{mushroom._id}}">
{{mushroom.variety}}
</a>
</li>
</ul>
</div>
</div>
控制器:
function MushroomListCtrl($scope, Mushroom) {
$scope.mushrooms = Mushroom.query();
$scope.selectMushroom = function (id) {
$scope.mushroom = _.where($scope.mushrooms, {_id: id})[0];
}
}
gardenApp.controller('MushroomListCtrl', ['$scope', 'Mushroom', MushroomListCtrl])
我不知道是否与jQuery Mobile的冲突,或者如果我只是出多少小白我与AngularJS合作。任何人都可以清楚地知道为什么它看起来不像selectMushroom()函数正在评估当我点击链接。现在我已经看了两天多了,这有点令人沮丧。此外,我目前正在使用AngularJS 1.0.2,jQuery 1.9.1和jQuery Mobile 1.3.1。我也尝试添加最新版本的angular-mobile-nav和ng-mobile.js,希望能够解决这个问题。但显然没有。
我居然用他的代码,作为这项工作的基础。我改变了它,并没有真正有所作为。我最终将我的ng控制器声明移动到body标签中,似乎已经解决了ng-click没有运行的事实。我不确定为什么这样修正了这个问题,除非我错过了AngularJS是如何确定范围的。无论哪种方式,我仍然得到一个未定义的ID。 –
有没有AngularJS的工作?绑定到{{蘑菇。品种}}显示正确的蘑菇品种? –
其他一切正常,并按照您的预期填充。我弄明白了,但需要.id而不是._id –