javascript - 将变量传递给 AngularJS Controller ,最佳实践?

标签 javascript javascript-framework angularjs

我是 AngularJS 的新手 就像我到目前为止所看到的一样,尤其是模型/ View 绑定(bind)。我想利用它来构建一个简单的“添加到购物车”功能。

到目前为止,这是我的 Controller :

function BasketController($scope) {
    $scope.products = [];

    $scope.AddToBasket = function (Id, name, price, image) {

        ...

    };
}

这是我的 HTML:

<a ng-click="AddToBasket('237', 'Laptop', '499.95', '237.png')">Add to basket</a>

现在这可行了,但我非常怀疑这是在我的模型中创建新产品对象的正确方法。然而,这就是我完全缺乏 AngularJS 经验的地方。

如果这不是解决问题的方法,那么最佳做法是什么?

最佳答案

你可以使用 ng-init在外部 div 中:

<div ng-init="param='value';">
    <div ng-controller="BasketController" >
        <label>param: {{value}}</label>
    </div>
</div>  

然后该参数将在您的 Controller 范围内可用:

function BasketController($scope) {
        console.log($scope.param);
}

关于javascript - 将变量传递给 AngularJS Controller ,最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11703477/

相关文章:

javascript - 管理 Meteor 中的异步回调

javascript - CanJS 模型的动态属性?

angularjs - 如何根据angularjs中的值启用或禁用按钮?

ios - Ionic InAppBrowser 没有完成/关闭按钮 iOS

javascript - 可以在 Extjs4 图表中制作 google 图表

javascript - 带有 protractorjs 的 Angular 2 失败 : Error while waiting for Protractor to sync with the page: "window.getAllAngularTestabilities is not a function"

javascript - 如何使用 jquery 在表格中查找重复的下拉行?

javascript - 推送事件后来自 serviceWorker 的 PostMessage

javascript - 如何增加 Webstorm 调试器中显示的帧数?

javascript - 在 Knockout.js 中,如何在映射后根据复选框字段对 viewModel 项目进行排序