如何处理模板中angular-ui route params中的空/空值?

时间:2015-02-26 03:58:57

标签: angularjs angular-ui-router ionic-framework ionic

以下是我的要求。

我有一个离子应用程序。最初在着陆页上,我正在加载一些内容以及菜单。

在菜单中,有一些项目有路径参数函数调用吗?

最初页面加载时,路径参数将为空白,下面是我得到的错误:

错误:[$ parse:syntax]语法错误:令牌'}'不是表达式[{brandID:}]第10列的主表达式,从[}]开始。 http://errors.angularjs.org/1.2.25/ $解析/语法P0 =%7D&安培; P1 =未%20A%20primary%20expression&安培; P2 = 10安培; P3 =%7BbrandID%3A%7D&安培; P4 =%7D     在VALIDITY_STATE_PROPERTY(http://localhost:8100/lib/ionic/js/ionic.bundle.js:7703:12

模板:

<ion-item nav-clear menu-close ui-sref="app.brandFeedback({brandID:{{menu_brand_id}}})" ng-show = "brand_spec_menu_item">
      Talk to the Brand
</ion-item>

App.js

.state('app.brandFeedback', {
  url: "/brands/:brandID/brandFeedback",
  views: {
    'menuContent' :{
      templateUrl: "partials/brand_feedback.html",
      controller:'BrandFeedbackCtrl'
    }
  }
})

稍后导航到其他页面时。我将根据该页面上可用的路线参数分配ID。

如何在模板中最初处理空白或null?

1 个答案:

答案 0 :(得分:2)

由于空值,您的问题不是直接的;它是您在ui-sref属性中使用的语法。

ui-sref="app.brandFeedback({brandID:{{menu_brand_id}}})"

但表达中的双括号是错误的;你真正想要的是

ui-sref="app.brandFeedback({brandID: menu_brand_id})"

假设menu_brand_id是一个至少有时会传递给模板范围的变量。但是,如果menu_brand_id不存在,您仍然无法获得错误;将使用参数app.brandFeedback调用{brandID: undefined}函数。