2015-09-04 58 views
1

在我的基於ui-router的AngularJS webapp中,我有一個擁有多個視圖的狀態。AngularJS ui-router:視圖參數

我想在2個不同的視圖中使用相同的模板/控制器(控制器的相同實例)與參數。我已經有了模板和控制器。

.state('home.action', { 
    url: '/action', 
    views:{ 
     '[email protected]':{ 
     templateUrl: 'criteria.html' 
     }, 
    } 
    }) 

我需要一個字符串參數,其中2個視圖的靜態值不同。

在action.html:

<div ui-view="criteria"/> //with param="criterias1" 
<div ui-view="criteria"/> //with param="criterias2" 

我想在criteria.html模板使用此PARAM。

什麼是實施這個最好的解決方案?

問候。

+1

重複,請檢查http://stackoverflow.com/questions/25647454/how-to-pass-parameters-using-ui-sref-in-ui-router-to-controller – udalmik

回答

0

我已經找到了解決辦法。

Duplicate of this question

它與onload事件。

實施例: HTML

<script type="text/ng-template" id="section.html"> 
    <div>section {{ someValue }}. Type : {{ type }}</div> 
</script> 

<script type="text/ng-template" id="main.html"> 
    <h2>main content</h2> 
    <div ui-view="section1" onload="type = 'type1'"></div> 
    <div ui-view="section2" onload="type = 'type2'"></div> 
</script> 

<div> 
    <h1>header</h1> 
    <div ui-view></div> 
<div> 

和相同的狀態。

0
.state('home.action', { 
    url: '/action/:theValue', 
    templateUrl: 'criteria.html' 
    }) 
.state('home.action', { 
    url: '/action/:theValue', 
    templateUrl: 'criteria.html' 
    }) 

值,theValue可以在自己的控制器內, $stateParams.theValue

+0

正確,但我只有一個實例的控制器。 – user3181983